@mcastiello/cancellable-promise
v0.0.3
Published
As the name suggests, this promise can be cancelled while still running.
Downloads
4
Maintainers
Readme
Cancellable Promise
As the name suggests, this promise can be cancelled while still running.
Install
yarn add @mcastiello/cancellable-promise
npm install @mcastiello/cancellable-promise
How to use
import { CancellablePromise } from "@mcastiello/cancellable-promise";
const promise = new CancellablePromise((resolve) => resolve("Hello World"));
promise.cancel();
console.log(await promise); // undefined
Static methods
It also provides a few static methods to simplify the use of promises:
defer
Make functions asynchronous by deferring them. Once the deferred function will be executed, it will return a cancellable promise that will be resolved with the value returned by the original function.
import { CancellablePromise } from "@mcastiello/cancellable-promise";
const callback = () => true;
// This will make the above callback asynchronous
const deferred = CancellablePromise.defer(callback);
// The function will return a function that, once executed, it will resolve the cancellable promise
const result = await deferred();
// As the returned value is a cancellable promise, the execution can be cancelled at any point
wait
Wait for a fixed amount of time before resolving the promise.
import { CancellablePromise } from "@mcastiello/cancellable-promise";
const waiting = async () => {
console.log("Hello World1");
await CancellablePromise.wait(1000);
console.log("One second is passed!");
}