Skip to content

Instantly share code, notes, and snippets.

@intrnl
Last active December 19, 2020 00:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save intrnl/0ef9369b92d1b2d707813d9d5e847757 to your computer and use it in GitHub Desktop.
Save intrnl/0ef9369b92d1b2d707813d9d5e847757 to your computer and use it in GitHub Desktop.
export function createDeferred<V> (): Deferred<V> {
let deferred: Deferred<V> = {} as any;
deferred.promise = new Promise((resolve, reject) => (
Object.assign(deferred, { resolve, reject })
));
return deferred;
}
export interface Deferred<V> {
promise: Promise<V>,
resolve (value: V | PromiseLike<V>): void,
reject (reason?: any): void,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment