@mcastiello/cancellable-promise
Version:
As the name suggests, this promise can be cancelled while still running.
10 lines (9 loc) • 723 B
TypeScript
export declare class CancellablePromise<ReturnType = unknown> extends Promise<ReturnType> {
#private;
constructor(executor: (resolve: (value: ReturnType | PromiseLike<ReturnType>) => void, reject: (reason?: unknown) => void) => void);
cancel(): void;
static resolve<ResolveType = unknown>(value?: ResolveType | PromiseLike<ResolveType>): CancellablePromise<ResolveType | undefined>;
static reject<ResolveType = unknown>(value?: unknown): CancellablePromise<ResolveType>;
static wait(delay: number): CancellablePromise<void>;
static defer<Args extends unknown[], ReturnType>(callback: (...args: Args) => ReturnType | PromiseLike<ReturnType>): (...args: Args) => CancellablePromise<ReturnType>;
}