Async/Await与Promise最大区别在于:await b()会暂停所在的async函数的执行;而Promise.then(b)将b函数加入回调链中之后,会继续执行当前函数。对于堆栈来说,这个不同点非常关键。
下面是promise封装的请求函数

下面是用await和then的方式进行数据请求。

await的方式:

执行第40行代码之后会暂停40行之后的代码执行,直到请求的数据返回才开始执行后面的代码。所以后面41行的数据是请求回来的数据。

then的方式

发送请求之后会将then中的内容放入堆栈,then之后的代码正常顺序执行,所以第51行执行的时候还没有请求到数据,就会输出undefine。当请求的数据回来时,开始执行then中的代码段(46-48行代码)。

个人理解,如有错误欢迎批评指正!

await和then的区别详解相关推荐

  1. [ASP.NET]ASP.NET中的Inherits、CodeFile、CodeBehind的区别详解及OWIN及IDENTITY

    篇一 : ASP.NET中的Inherits.CodeFile.CodeBehind的区别详解 Inherits.CodeFile.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计W ...

  2. HashTable和HashMap的区别详解

    HashTable和HashMap的区别详解 一.HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同 ...

  3. java mod %区别_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  4. 关于numpy中eye和identity的区别详解

    https://www.jb51.net/article/175386.htm np.identity(n, dtype=None) np.eye(N, M=None, k=0, dtype=< ...

  5. php为什么需要配置路由器,laravel 配置路由 api和web定义的路由的区别详解

    1.路由经过中间件方面不同 打开kerenl.php就可以看到区别 protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware ...

  6. python协程详解_对Python协程之异步同步的区别详解

    一下代码通过协程.多线程.多进程的方式,运行代码展示异步与同步的区别. import gevent import threading import multiprocessing # 这里展示同步和异 ...

  7. Jar/War/Ear等包的作用与区别详解

    Jar/War/Ear等包的作用与区别详解 以客户角度来看,jar文件就是一种封装格式,用户不需要知道jar包中有多少个.class格式的文件及每个文件中的功能与作用,也可以得到相应的访问的结果.ja ...

  8. Java中print、printf、println的区别 详解

    Java中print.printf.println的区别详解 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和pr ...

  9. axios请求接口http_使用axios请求接口,几种content-type的区别详解

    axios的使用 安装(一般使用框架的话, 脚手架都集成了) $ npm install axios 请求示例 // POST axios.post('/user', { firstName: 'Fr ...

最新文章

  1. Android O 新特性 — Notification
  2. ios15使用纯代码计算cell的高度
  3. 官方野生蝇群流口水分数
  4. 图片相册社区类型小程序模板
  5. postfix 过滤中文内容
  6. mysql的存储过程的参数,MySQL存储过程中的参数
  7. 傲娇Android二三事之诡诡异异的图片加载
  8. 【链表】Remove Duplicates from Sorted List II(三指针)
  9. 51单片机用HS0038B读取遥控按键码
  10. 全国三级城市联动 js版
  11. 怎么样用计算机弹出小星星,【钢琴入门自写教程 1】小星星弹奏
  12. python画二次函数图像的顶点坐标为_二次函数顶点坐标公式
  13. PTA航空公司VIP客户查询c++版——山东科技大学
  14. 硬盘格式化后怎么恢复文件
  15. 美国VPS服务器选择贴士
  16. 黑丝,白丝,全都要。某站的视频爬取加合成
  17. Http实战之无状态协议、keep-alive分析
  18. Intellij Idea远程调试小记
  19. vb.net 如何文件指定打印机打印文件_大规模使用FDM 3D打印机的三大挑战
  20. 华为PIM-SM 动态RP实验配置

热门文章

  1. I2C子系统之适配器的设备接口分析(i2c-dev.c文件分析)
  2. [附源码]Python计算机毕业设计仿咸鱼二手物品交易系统
  3. 网页版本的飞行日志分析平台是_如何进行网站日志分析
  4. markdown-nice使用教程
  5. melogin服务器无响应,无法登录melogin.cn,怎么办?
  6. 360度全景问题--预处理:欠曝光
  7. bes2300之i2c(七)
  8. 快排(java实现)
  9. java 防止恶意刷短信验证码_用户使用java短信验证码时要做好三个保护
  10. 【Android】安卓AVD无法上网解决方案