Promise.all用法
时间: 2023-06-15 09:04:17 浏览: 132
Promise.all() 方法接受一个 Promise 对象的数组作为参数,并返回一个新的 Promise 对象。这个新的 Promise 对象在数组中所有的 Promise 对象都 fulfilled 时变为 fulfilled,其中一个 Promise 对象被 rejected 时变为 rejected。
Promise.all() 方法的语法如下:
```
Promise.all(iterable);
```
其中,iterable 表示一个可迭代对象,比如数组。
使用 Promise.all() 方法,可以方便地将多个 Promise 对象组合成一个新的 Promise 对象,以便在它们全部完成后执行某些操作。以下是一个使用 Promise.all() 方法的示例:
```
const promises = [
Promise.resolve(1),
Promise.resolve(2),
Promise.resolve(3)
];
Promise.all(promises)
.then(([result1, result2, result3]) => {
console.log(result1 + result2 + result3);
})
.catch(error => {
console.error(error);
});
```
在这个例子中,我们创建了一个包含三个 Promise 对象的数组,然后使用 Promise.all() 方法将它们组合成一个新的 Promise 对象。一旦这三个 Promise 对象都 fulfilled,then() 方法中的回调函数将会被调用,并且我们可以通过解构赋值的方式获取到每一个 Promise 对象的结果。如果其中一个 Promise 对象被 rejected,catch() 方法中的回调函数将会被调用,同时 Promise.all() 方法返回的 Promise 对象也会被 rejected。
阅读全文