| export function withResolvers<T>(): PromiseWithResolvers<T> { | |
| if (typeof Promise.withResolvers === 'function') { | |
| return Promise.withResolvers(); | |
| } | |
| let resolve!: (value: T | PromiseLike<T>) => void; | |
| let reject!: (reason?: any) => void; | |
| const promise = new Promise<T>((_resolve, _reject) => { | |
| resolve = _resolve; | |
| reject = _reject; | |
| }); | |
| return { | |
| resolve, | |
| reject, | |
| promise, | |
| }; | |
| } | |