美文网首页
async、await

async、await

作者: 行走的蛋白质 | 来源:发表于2019-12-19 16:38 被阅读0次
    • async、await 的特点,优点和缺点,await 的原理是什么?

    • 一个函数如果加上 async 那么该函数就会返回一个 Promise。
    async function fun1() {
        return '666'
    }
    console.log(fun1()) // Promise {<resolved>: "666"}
    

    async 就是将函数的返回值用 Promise.resolve() 包裹了一下,和 then 中处理返回值一样,并且 await 只能配合 async 使用。

    async 和 await 作为异步的终极解决方案,相比 Promise
    • 优势
      在处理 then 的调用链的时候,能更准确清晰的写出代码,同时优雅的解决回调地狱的问题。
    • 缺点
      因为 await 代码将异步代码改造成了同步代码,如果多个代码没有依赖性却使用了 await 会导致性能上的降低。
    async function fun1() {
        // 下述调用如果没有依赖性的话完全可以使用 Promise.all 的方式来替换提升性能
        // 下述代码如果有依赖性,就是解决回调地狱的例子了
        await fetch(url1)
        await fetch(url2)
        await fetch(url3)
        await fetch(url4)
    }
    

    await 在内部实现了 Generator,其实 await 就是 Generator 和 Promise 的语法糖,且内部实现了自动执行 Generator。

    相关文章

      网友评论

          本文标题:async、await

          本文链接:https://www.haomeiwen.com/subject/cnamnctx.html