promise.ts 328 B

123456789
  1. export function withResolvers<T, P extends PromiseLike<T> = PromiseLike<T>>() {
  2. let resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void;
  3. const promise = new Promise<T>((res, rej) => {
  4. resolve = res;
  5. reject = rej;
  6. }) as unknown as P;
  7. // @ts-ignore
  8. return { promise, resolve, reject };
  9. }