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 月 |