JavaScript Promise.all()

定義和用法

Promise.all() 方法從一組 Promise 返回一個單一的 Promise,當所有 Promise 都成功完成時。

實例

// 創建一個 Promise
const myPromise1 = new Promise((resolve, reject) => {
  setTimeout(resolve, 200, "國王");
});
// 創建另一個 Promise
const myPromise2 = new Promise((resolve, reject) => {
  setTimeout(resolve, 100, "女王");
});
// 兩個 Promise 都成功,哪個更快?
Promise.all([myPromise1, myPromise2]).then((x) => {
  myDisplay(x);
});

親自試一試

語法

Promise.all(iterable)

參數

參數 描述
iterable Promise 的數組。

返回值

類型 描述
Object 新的 Promise 對象。

瀏覽器支持

Promise.all() 是 ECMAScript 6 (ES6) 的特性。

自 2017 年 6 月以來,ES6 (JavaScript 2015) 在所有現代瀏覽器中都得到支持:

Chrome Edge Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
2016 年 5 月 2017 年 4 月 2017 年 6 月 2016 年 9 月 2016 年 6 月

Promise.all() 不支持 Internet Explorer。