promise.all()
时间: 2023-08-16 09:16:52 浏览: 73
Promise Promise.all 的使用
`Promise.all()` 是一个 JavaScript 方法,它接收一个 Promise 对象数组作为参数,并返回一个新的 Promise 对象。
当传入的 Promise 数组中的所有 Promise 对象都成功解析(即状态变为 resolved)时,返回的 Promise 对象也会被解析,并传递一个包含了每个 Promise 对象解析值的数组作为参数。如果任意一个 Promise 对象被拒绝(即状态变为 rejected),返回的 Promise 对象也会被拒绝,并传递第一个被拒绝的 Promise 对象的错误信息作为参数。
这个方法通常用于并行执行多个异步操作,并在所有操作完成后进行处理。例如,当需要同时发送多个网络请求并等待它们全部返回结果时,可以使用 `Promise.all()` 来处理返回的结果数组。
以下是一个示例代码:
```javascript
const promises = [
fetch('https://api.example.com/data1'),
fetch('https://api.example.com/data2'),
fetch('https://api.example.com/data3')
];
Promise.all(promises)
.then(responses => {
// 处理返回的结果数组
console.log(responses);
})
.catch(error => {
// 处理错误
console.error(error);
});
```
在此示例中,我们使用 `fetch()` 函数发送了三个网络请求,并将返回的 Promise 对象组成一个数组传递给 `Promise.all()`。当所有请求都完成后,`.then()` 方法会被调用,并将包含每个请求结果的数组传递给回调函数。
希望这能解答你的问题!如果有任何进一步的疑问,请随时提问。
阅读全文