Files
welshman/lib/Deferred.ts
T
Jonathan Staab daca5adf11 Add Relay, Pool
2023-03-25 11:15:03 -05:00

15 lines
311 B
TypeScript

export type Deferred<T> = Promise<T> & {
resolve: (arg: T) => void
reject: (arg: T) => void
}
export const defer = (): Deferred<any> => {
let resolve, reject
const p = new Promise((resolve_, reject_) => {
resolve = resolve_
reject = reject_
})
return Object.assign(p, {resolve, reject})
}