You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

promise.ts 459 B

123456789101112131415
  1. /**
  2. * 封装 Promise,不会抛异常,resolve 的时候返回 [data, null], reject 的时候返回 [null, error]
  3. * @param promise
  4. * @return resolve 的时候返回 [data, null], reject 的时候返回 [null, error]
  5. */
  6. export async function to<T, U = any>(promise: Promise<T>): Promise<[T, null] | [null, U]> {
  7. try {
  8. const data = await promise;
  9. return [data, null];
  10. } catch (error) {
  11. return [null, error as U];
  12. }
  13. }
  14. export default to;