对 async/await 的理解,分析内部原理

Promise 的出现解决了回调地狱的问题,但是如果遇到复杂的业务,代码中会包含大量的 then 函数,使得代码依然不容易阅读。

基于这个原因,在 ES7 中引入了 async/await,这是 JavaScript 异步编程的一个重大改进。它提供了在不阻塞主线程的情况下使用同步代码实现异步访问资源的能力,并且使得代码逻辑更加清晰,而且还支持 try-catch 来捕获异常,非常符合人的线性思维。

Async/await,这种方式能够彻底告别执行器和生成器,实现更加直观简洁的代码。根据 MDN 定义,async 是一个通过异步执行并隐式返回 Promise 作为结果的函数。实际上 async 函数是 generator函数的语法糖,并对 generator 函数进行了改进。它的重点是自带了执行器,相当于把我们要额外做的(写执行器/依赖 co 模块)都封装了在内部。

猜你喜欢

转载自blog.csdn.net/weixin_40599109/article/details/108452174