Promise.all的實現


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();
          }
        })
      }
    })
  };


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM