es6 多个promise技巧写法
时间: 2023-02-06 18:54:29 浏览: 60
在 ECMAScript 6 中,你可以使用 Promise.all 方法来处理多个 Promise 对象。
Promise.all 方法接受一个 Promise 对象数组作为参数,并返回一个新的 Promise 对象。当所有传入的 Promise 对象都被完成时(无论是 resolve 还是 reject),新的 Promise 对象才会被完成。如果传入的 Promise 对象数组中有任意一个被 reject,则新的 Promise 对象也会被 reject。
例如,你可以这样写:
```
Promise.all([promise1, promise2, promise3]).then(function(values) {
console.log(values);
}).catch(function(error) {
console.error(error);
});
```
在这个例子中,promise1、promise2 和 promise3 都是 Promise 对象。当它们都被完成时(无论是 resolve 还是 reject),then 方法的回调函数就会被调用,并且 values 变量就会包含所有传入的 Promise 对象的返回值(作为数组的形式)。如果任意一个 Promise 对象被 reject,则 catch 方法的回调函数就会被调用,error 变量就会包含第一个被 reject 的 Promise 对象的错误信息。
你也可以使用 async/await 语法来简化这个过程:
```
async function example() {
try {
const values = await Promise.all([promise1, promise2, promise3]);
console.log(values);
} catch (error) {
console.error(error);
}
}
```
在这个例子中,example 函数是一个 async 函数,它通过调用 Promise.all 方法来等
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)