async...await 结合 Promise使用

欢迎加我技术交流QQ群 :811956471
下面的代码涵盖了 async...await 结合 Promise使用方法,以及统一捕获错误最优方法

以下例子 公用的三个函数:

function getOne() {
    return new Promise((resolve, reject) => {
       reject("出错了1")
    })
}

function getTwo() {
    return new Promise((resolve, reject) => {
        reject("出错了2")
    })
}

function getThree() {
        return new Promise((resolve, reject) => {
            resolve("getThree3")
    })
}

1、一般使用:

const test = async _ => {
    const one = await getOne(false)
    const two = await getTwo(false)
    const three = await getThree(false)
}

test().catch(error => console.log(error)) //出错了1

以上方法有多个await 后面的await都会等前一个执行完了才会执行下一个,他们之间不存在继发关系造成请求时间的等待,影响用户体验

2、如果不存在继发关系可优化使用如下:

const test = async _ => {
    const promises = [getOne(), getTwo(), getThree()]
    const [one, two, three] = await Promise.all(promises)
    const one = await getOne(false)
    const two = await getTwo(false)
    const three = await getThree(false)
}
test().catch(error => console.log(error)) //出错了1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容