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 月