18 lines
392 B
TypeScript
18 lines
392 B
TypeScript
/**
|
|
* An externally resolvable/rejectable "promise". Use it to resolve/reject
|
|
* promise at any time.
|
|
*
|
|
* ```ts
|
|
* const future = new Defer();
|
|
*
|
|
* future.promise.then(value => console.log(value));
|
|
*
|
|
* future.resolve(123);
|
|
* ```
|
|
*/
|
|
export declare class Defer<T> {
|
|
readonly resolve: (data: T) => void;
|
|
readonly reject: (error: any) => void;
|
|
readonly promise: Promise<T>;
|
|
}
|