async 是“异步”的简写,而 await 可以认为是 async wait 的简写。

所以应该很好理解 async 用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。

async 函数是什么?一句话,它就是 Generator 函数的语法糖。async函数就是将 Generator 函数的星号(*)替换成async,将yield替换成await,仅此而已。

async 函数返回的是一个 Promise 对象。

async 函数(包含函数语句、函数表达式、Lambda表达式)会返回一个 Promise 对象,如果在函数中 return 一个直接量,async 会把这个直接量通过 Promise.resolve() 封装成 Promise 对象。

如果它等到的不是一个 Promise 对象,那 await 表达式的运算结果就是它等到的东西。

如果它等到的是一个 Promise 对象,await 就忙起来了,它会阻塞后面的代码,等着 Promise 对象 resolve,然后得到 resolve 的值,作为 await 表达式的运算结果。

最新文章

  1. eclipse的快捷键(写给eclipse新手)
  2. U3D 动画帧事件问题
  3. 如何在linux Shell脚本里面把一个数组传递到awk内部进行处理
  4. Activity Launch Mode
  5. English Morphology
  6. Cygwin环境编译/usr/include/sys/_types.h:72:20: 致命错误:stddef.h:can not found
  7. 用javascript操作xml
  8. node中的get请求和post请求的不同操作【node学习第五篇】
  9. 成为 Linux 内核高手的四个方法
  10. sql数据黑马程序员——SQL入门
  11. 解决eclipse项目下出现deployment descriptor和jax-ws web services
  12. js的event事件
  13. Linux 目录与文件管理
  14. CRT破解版
  15. MyEclipse教程:使用UML创建模块库——第二部分(一)
  16. Moving Average from Data Stream LT346
  17. Jquery封装ajax
  18. 37、使用FileInputStream和FileOutputStream读取和写入
  19. 创建可复用的自定义 ASP.NET MVC Helpers
  20. PLSQL Develope连接oracle数据库配置

热门文章

  1. Ubuntu 16.04下apt安装ssh及卸载(含FileZilla 使用过程)
  2. Lp- Linux必学的60个命令
  3. Luogu P2149 [SDOI2009]Elaxia的路线(最短路+记忆化搜索)
  4. 分批次删除大表数据的shell脚本
  5. 使用 top instance 命令查看运行中 MaxCompute 作业
  6. Django项目:CRM(客户关系管理系统)--77--67PerfectCRM实现CRM课程出勤排名
  7. 深入浅出 Java Concurrency (2): 原子操作 part 1[转]
  8. dubbo入门学习(六)-----dubbo原理
  9. C++stl中vector的几种常用构造方法
  10. 过滤html标签的一个函数