Promise.all()
时间: 2023-06-21 10:10:28 浏览: 92
深入理解Promise.all
5星 · 资源好评率100%
`Promise.all()` 是一个 JavaScript 方法,可以接收一个可迭代对象(例如数组)作为参数,返回一个新的 Promise 对象。该 Promise 对象在所有传入的 Promise 都成功时才会被解析,如果有任意一个 Promise 被拒绝,则该 Promise 对象会被拒绝,并返回被拒绝的 Promise 的结果。返回的 Promise 对象的值是一个数组,包含所有传入 Promise 的解析值,按照传入的顺序排列。
例如,如果你有三个 Promise 对象 `p1`、`p2` 和 `p3`,你可以使用 `Promise.all([p1, p2, p3])` 来等待它们全部完成,然后在它们完成后执行某些操作,例如:
```
Promise.all([p1, p2, p3])
.then(([result1, result2, result3]) => {
console.log('All promises resolved!', result1, result2, result3);
})
.catch(error => {
console.error('At least one promise rejected', error);
});
```
注意,`Promise.all()` 方法是并行执行传入的 Promise,而不是按照顺序执行它们。如果你需要按照顺序执行 Promise,可以使用 `async/await` 或者 `Promise.then()` 链式调用。
阅读全文