await 与 Promise.all 结合使用
Posted 小情绪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了await 与 Promise.all 结合使用相关的知识,希望对你有一定的参考价值。
当遇到多个可以同时执行的异步任务时,就需要使用 Promise.all。
Promise.all 方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。const p = Promise.all([p1, p2, p3])
Promise.all 方法接受一个数组作为参数,p1、p2、p3 都是 Promise 实例,如果不是,就会先调用 Promise.resolve 方法,将参数转为 Promise 实例,再进一步处理。(Promise.all 方法的参数可以不是数组,但必须具有 Iterator 接口,且返回的每个成员都是 Promise 实例。)
而 async/await 本身就是 promise 的语法糖,因此可以与 Promise.all 结合使用:
const p1 = async () => {}
const p2 = async () => {}
const p3 = async () => {}
const [result1, result2, result3] = await Promise.all([p1, p2, p3])
console.log(result1)
console.log(result2)
console.log(result3)
以上是关于await 与 Promise.all 结合使用的主要内容,如果未能解决你的问题,请参考以下文章
promise/axios async/await使用方法汇总