码迷,mamicode.com
首页 > 其他好文 > 详细

Promise超时情况

时间:2018-11-19 17:30:36      阅读:416      评论:0      收藏:0      [点我收藏+]

标签:class   color   rac   resolve   def   func   fun   undefined   res   

export const ERROR_PROMISE_TIMEOUT = ‘ERROR_PROMISE_TIMEOUT‘;

export default function (promise, timeout) {
  let timer = undefined;
  return Promise.race([
    new Promise(function (resolve, reject) {
      timer = setTimeout(() => {
        reject(new Error(ERROR_PROMISE_TIMEOUT));
      }, timeout)
    }),
    promise.then(res => {
      timer && window.clearTimeout(timer);
      return res;
    }).catch(err => {
      timer && window.clearTimeout(timer);
      return Promise.reject(err);
    })
  ])
}

 

Promise超时情况

标签:class   color   rac   resolve   def   func   fun   undefined   res   

原文地址:https://www.cnblogs.com/rusr/p/9983711.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!