promise.all
时间: 2023-09-24 21:06:02 浏览: 66
`Promise.all()`是一个JavaScript方法,用于并行执行多个Promise并等待所有Promise执行完成后返回结果数组。如果有任何一个Promise被reject,则整个`Promise.all()`就会被reject。
下面是一个使用`Promise.all()`的示例:
```javascript
const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = Promise.resolve(3);
Promise.all([promise1, promise2, promise3])
.then(values => {
console.log(values); // [1, 2, 3]
});
```
在上面的示例中,我们创建了三个Promise对象,并将它们传递给`Promise.all()`。当所有Promise都完成时,`Promise.all()`会返回一个数组,其中包含每个Promise的结果。在这个例子中,结果数组是`[1, 2, 3]`。
如果其中任何一个Promise被拒绝,整个`Promise.all()`就会被拒绝,并且拒绝的值是第一个被拒绝的Promise的拒绝原因。例如:
```javascript
const promise1 = Promise.resolve(1);
const promise2 = Promise.reject('Error');
const promise3 = Promise.resolve(3);
Promise.all([promise1, promise2, promise3])
.catch(error => {
console.error(error); // Error
});
```
在上面的示例中,`Promise.all()`被拒绝,因为第二个Promise被拒绝,并且拒绝原因是`'Error'`。