帮我写一个promise.all
时间: 2023-10-18 16:11:42 浏览: 83
深入理解Promise.all
5星 · 资源好评率100%
当你需要等待多个Promise对象都完成后才执行某些操作时,可以使用Promise.all()方法。该方法接收一个Promise对象数组,返回一个新的Promise对象,当所有Promise对象都resolve时,新的Promise对象才会resolve,返回值是所有Promise对象resolve时的结果数组。如果其中任何一个Promise对象reject或抛出异常,新的Promise对象会reject或抛出异常,返回值是第一个reject或抛出异常的Promise对象的错误信息。下面是一个示例:
```javascript
const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = Promise.resolve(3);
Promise.all([promise1, promise2, promise3])
.then(results => {
console.log(results); // [1, 2, 3]
})
.catch(error => {
console.error(error); // 如果其中任何一个Promise对象reject或抛出异常,会执行这里
});
```
在上面的示例中,我们创建了三个Promise对象,分别resolve为1、2、3。我们使用Promise.all()方法,将这三个Promise对象作为参数传入,然后使用.then()方法获取所有Promise对象resolve时的结果数组。由于这三个Promise对象都resolve了,所以新的Promise对象也resolve了,返回值是[1, 2, 3]。如果其中任何一个Promise对象reject或抛出异常,新的Promise对象会reject或抛出异常,返回值是第一个reject或抛出异常的Promise对象的错误信息。
阅读全文