Promise.all详细说明
时间: 2023-11-15 22:56:50 浏览: 80
Promise.all() 是一个 Promise API,它接收一个 Promise 数组作为参数,返回一个新的 Promise 对象。当传入的所有 Promise 都成功 resolve 时,返回的 Promise 对象才会 resolve,返回值是一个由所有 Promise 返回值组成的数组;当传入的 Promise 中有一个 reject 时,返回的 Promise 对象会 reject,返回值是第一个 reject 的 Promise 的返回值。
下面是一个使用 Promise.all() 的例子:
```javascript
const promise1 = Promise.resolve(1);
const promise2 = new Promise((resolve, reject) => {
setTimeout(resolve, 100, 'foo');
});
const promise3 = new Promise((resolve, reject) => {
setTimeout(resolve, 500, 'bar');
});
Promise.all([promise1, promise2, promise3]).then(values => {
console.log(values); // [1, 'foo', 'bar']
});
```
在这个例子中,我们创建了三个 Promise,其中 promise1 立即 resolve,promise2 和 promise3 分别在 100ms 和 500ms 后 resolve。我们将这三个 Promise 传入 Promise.all() 中,然后在 Promise.all() 返回的 Promise 上调用 then() 方法,输出所有 Promise 的返回值。
阅读全文