美文网首页
Promise.all的实现

Promise.all的实现

作者: 有田春雪 | 来源:发表于2019-02-28 17:02 被阅读0次

Promise.all的简单实现

Promise.all = arr => {
    let aResult = [];    //用于存放每次执行后返回结果
    return new _Promise(function (resolve, reject) {
      let i = 0;
      next();    // 开始逐次执行数组中的函数(重要)
      function next() {
        arr[i].then(function (res) {
          aResult.push(res);    // 存储每次得到的结果
          i++;
          if (i == arr.length) {    // 如果函数数组中的函数都执行完,便resolve
            resolve(aResult);
          } else {
            next();
          }
        })
      }
    })
  };

相关文章

网友评论

      本文标题:Promise.all的实现

      本文链接:https://www.haomeiwen.com/subject/vtdkuqtx.html