Promise.allSettled
时间: 2023-07-05 11:35:40 浏览: 97
`Promise.allSettled` 是 ES2020 中新增的一个 Promise 方法,它可以接收一个 Promise 数组,返回一个新的 Promise 对象。
这个新的 Promise 对象会在所有的 Promise 都settled(即变成fulfilled或rejected状态)之后返回一个由所有 Promise 状态结果组成的数组,数组中的每个元素都是一个对象,包含了每个 Promise 的状态和结果(或错误原因)。
例如:
```javascript
const promises = [
Promise.resolve(1),
Promise.reject('error'),
Promise.resolve(3)
];
Promise.allSettled(promises)
.then(results => {
console.log(results);
});
```
输出结果:
```
[
{ status: 'fulfilled', value: 1 },
{ status: 'rejected', reason: 'error' },
{ status: 'fulfilled', value: 3 }
]
```
在上面的例子中,Promise.allSettled 方法接收一个 Promise 数组,其中包含了三个 Promise,两个是 fulfilled 状态,一个是 rejected 状态。在 Promise.allSettled 方法的回调函数中,我们可以得到一个包含了所有 Promise 状态结果的数组。
阅读全文