promise和async await区别

Promise是异步编程的一种解决方案,比传统的解决方案更合理和更强大,async await也是异步编程的一种解决方案,他遵循的是Generator函数的语法糖,他拥有内置执行器,不需要额外的调用直接会自动执行并输出结果,它返回的是一个Promise对象。

promise和async await区别

Promise的出现解决了传统callback函数导致的“地域回调”问题,但它的语法导致了它向纵向发展行成了一个回调链,遇到复杂的业务场景,这样的语法显然也是不美观的。

promise和async await区别

而async await代码看起来会简洁些,使得异步代码看起来像同步代码,await的本质是可以提供等同于”同步效果“的等待异步返回能力的语法糖,只有这一句代码执行完,才会执行下一句。

promise和async await区别

async await与Promise一样,是非阻塞的。async await是基于Promise实现的,可以说是改良版的Promise,它不能用于普通的回调函数。简单地说,Promise好比容器,里面存放着一些未来才会执行完毕(异步)的事件的结果,而这些结果一旦生成是无法改变的。

本文出处:https://www.xxk520.com/xxk/6134.html

关注微信