@difizen/mana-common
Version:
18 lines (15 loc) • 383 B
text/typescript
import { noop } from './utils';
/**
* Deferred pattern.
*/
export class Deferred<T> {
public resolve: (value: T | PromiseLike<T>) => void = noop;
public reject: (err?: any) => void = noop;
public readonly promise: Promise<T>;
constructor() {
this.promise = new Promise<T>((resolve, reject) => {
this.resolve = resolve;
this.reject = reject;
});
}
}