js異步處理Promise.all()使用方法


在實際項目中,可能會遇到 需要從前兩個接口中的返回結果獲取第三個接口的請求參數這種情況。 也就是需要等待兩個/多個異步事件完成后,再進行回調。
對於異步回調,首先想到的就會是使用Promise封裝,然后使用.then()來觸發回調。那么對於兩個或多個異步事件均完成后再觸發回調可以使用Promise.all()方法。

**Promise.all(iterable)** 方法返回一個 Promise 實例,此實例在 iterable 參數內所有的 promise 都“完成(resolved)”或參數中不包含 promise 時回調完成(resolve);如果參數中 promise 有一個失敗(rejected),此實例回調失敗(reject),失敗原因的是第一個失敗 promise 的結果。

var promise1 = Promise.resolve('promise1');
var promise2 = new Promise(function(resolve, reject) {
  setTimeout(resolve, 2000, 'promise2');
});
var promise3 = new Promise(function(resolve, reject) {
  setTimeout(resolve, 1000, 'promise3');
});

Promise.all([promise1, promise2, promise3]).then(function(values) {
  console.log(values);
});
// expected output: Array ["promise1","promise2", "promise3"]

 


免責聲明!

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



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