js中promise.all
时间: 2023-09-24 19:06:14 浏览: 48
在 JavaScript 中,`Promise.all()` 方法接受一个包含多个 Promise 对象的数组作为参数,并返回一个新的 Promise 对象,该 Promise 对象将在所有 Promise 对象都成功解决后解决。
如果传递给 `Promise.all()` 的任何一个 Promise 对象被拒绝,则返回的 Promise 对象将立即被拒绝,并带有拒绝原因。否则,返回的 Promise 对象将解决为一个值数组,该数组包含所有 Promise 对象的解决值,按照传递给 `Promise.all()` 的顺序排列。
以下是一个使用 `Promise.all()` 的示例:
```javascript
const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = new Promise((resolve, reject) => {
setTimeout(() => resolve(3), 1000);
});
Promise.all([promise1, promise2, promise3]).then(values => {
console.log(values); // [1, 2, 3]
});
```
在上面的示例中,`Promise.all()` 方法接受包含三个 Promise 对象的数组作为参数,并在所有 Promise 对象都成功解决后解决为一个值数组。由于 `promise3` 要等待 1 秒钟才能解决,因此返回的 Promise 对象将在 1 秒钟后解决。