async、await

2019-12-19  本文已影响0人  行走的蛋白质

async function fun1() {
    return '666'
}
console.log(fun1()) // Promise {<resolved>: "666"}

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

async 和 await 作为异步的终极解决方案,相比 Promise
async function fun1() {
    // 下述调用如果没有依赖性的话完全可以使用 Promise.all 的方式来替换提升性能
    // 下述代码如果有依赖性,就是解决回调地狱的例子了
    await fetch(url1)
    await fetch(url2)
    await fetch(url3)
    await fetch(url4)
}

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

上一篇 下一篇

猜你喜欢

热点阅读