promise.all使用
时间: 2024-01-27 08:14:49 浏览: 97
Promise.all()方法用于将多个Promise实例包装成一个新的Promise对象,并在所有Promise实例都完成后返回一个包含所有Promise实例返回值的数组。
使用Promise.all()方法的步骤如下:
1. 创建一个包含多个Promise实例的数组。
2. 调用Promise.all()方法,并将上一步创建的数组作为参数传入。
3. 使用.then()方法来处理Promise.all()返回的新的Promise对象。
示例代码如下:
```javascript
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 1 resolved');
}, 2000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 2 resolved');
}, 3000);
});
const promise3 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 3 resolved');
}, 1000);
});
Promise.all([promise1, promise2, promise3])
.then((results) => {
console.log(results); // 输出:['Promise 1 resolved', 'Promise 2 resolved', 'Promise 3 resolved']
})
.catch((error) => {
console.log(error);
});
```
注意:Promise.all()方法会等待所有Promise实例都完成,即所有Promise实例的状态都变为resolved或者其中任何一个Promise实例的状态变为rejected才会结束。如果传入的Promise实例中有一个被rejected,Promise.all()方法会立即返回一个rejected状态的Promise对象,并且只会返回已经完成的Promise实例的返回值。
阅读全文