promise.all的写法
时间: 2023-07-05 09:29:07 浏览: 57
`Promise.all`是一个用于并行执行多个Promise实例的方法,只有当所有Promise都完成时才会返回结果。它的写法如下:
```javascript
Promise.all([promise1, promise2, promise3])
.then(results => {
// 所有Promise都已完成
})
.catch(error => {
// 任意一个Promise出错
});
```
其中,`Promise.all`的参数是包含多个Promise实例的数组,当所有Promise都完成时,`then`方法会返回一个数组,包含每个Promise的结果;如果有任意一个Promise出错,则会在`catch`方法中捕获到错误。
需要注意的是,`Promise.all`的执行结果顺序与Promise实例在数组中的顺序一致,如果需要保证顺序,可以使用`Promise.all`和`Array.map`结合的方式,例如:
```javascript
const urls = ['url1', 'url2', 'url3'];
const promises = urls.map(url => fetch(url));
Promise.all(promises)
.then(responses => {
return Promise.all(responses.map(response => response.json()));
})
.then(jsons => {
// 按urls中的顺序,依次得到每个url返回的json数据
})
.catch(error => {
// 任意一个Promise出错
});
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)