pomise.all
时间: 2023-08-15 14:13:44 浏览: 40
`Promise.all` 是 JavaScript 中的一个方法,用于并行执行多个 Promise 对象,并在所有 Promise 对象都成功执行后返回一个新的 Promise 对象。该新的 Promise 对象的结果是一个数组,包含了所有 Promise 对象的结果。
使用 `Promise.all` 方法可以避免回调地狱,将多个异步操作并行执行,并在它们都完成后进行处理。例如,假设有两个异步操作,分别是获取用户信息和获取用户订单信息,可以使用 `Promise.all` 来同时发起这两个请求,并在它们都完成后进行处理。
示例代码如下:
```javascript
const getUserInfo = () => {
return new Promise((resolve, reject) => {
// 异步操作,获取用户信息
setTimeout(() => {
const userInfo = { name: 'John', age: 25 };
resolve(userInfo);
}, 2000);
});
};
const getUserOrders = () => {
return new Promise((resolve, reject) => {
// 异步操作,获取用户订单信息
setTimeout(() => {
const userOrders = ['Order 1', 'Order 2', 'Order 3'];
resolve(userOrders);
}, 3000);
});
};
Promise.all([getUserInfo(), getUserOrders()])
.then(([userInfo, userOrders]) => {
console.log('User Info:', userInfo);
console.log('User Orders:', userOrders);
})
.catch((error) => {
console.error('Error:', error);
});
```
以上代码中,`getUserInfo` 和 `getUserOrders` 分别返回两个 Promise 对象,通过 `Promise.all` 方法将这两个 Promise 对象传入。在所有 Promise 对象都成功执行后,通过 `.then` 方法获取到结果,并进行相应的处理。
希望以上解答能帮到你!如果还有其他问题,请继续提问。