全站数据
8 4 2 0 5 8 1

promise和async await区别

公务员指南 | 教育先行,筑梦人生!         
问题更新日期:2024-03-01 16:42:23

问题描述

promise和async await区别求高手给解答
精选答案
最佳答案

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

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

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

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