JavaScript Promise.allSettled()

定義和用法

Promise.allSettled() 方法從一組 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.allSettled([myPromise1, myPromise2]).then((results) =>
  results.forEach((x) => myDisplay(x.status))
);

親自試一試

語法

Promise.allSettled(iterable)

參數

參數 描述
iterable Promise 的數組。

返回值

類型 描述
Object 新的 Promise 對象。

瀏覽器支持

Promise.allSettled() 自 2020 年 3 月以來在所有現代瀏覽器中得到支持:

Chrome Edge Firefox Safari Opera
Chrome 76 Edge 79 Firefox 71 Safari 13 Opera 63
2019 年 5 月 2019 年 11 月 2020 年 3 月 2019 年 9 月 2019 年 8 月