1.async概念:

  • 真在意义上解决异步回调函数的问题(由于promise的then方法中还是使用回调函数,而async中await并没有使用回调函数真正意义上解决回调函数),同步流程表达异步操作。

  • 最为常用并与promise结合使用。

  • 本质是Generator的语法糖。

2.特点:

  • 不需要像Generator去调用next方法,遇到await等待,当前的异步操作完成就往下执行。

  • 返回为Promise对象,可以用then方法进行下一步执行

  • async取代Generator函数的星号*,await取代Generator的yield

  • 语义上更为明确,使用简单,没有任何副作用

3.使用:

  • 异步任务使用promise包装,await之后的异步任务通常返回一个promise的实例。

  • 通过修改promise实例的状态通知await以及给await设定返回值(resolve(data))

 let num = 1;

 function promiseUtil(){
return new Promise((resolve,reject)=>{

setTimeout(()=>{ console.log("异步任务"+num+"执行成功"); let data = "我是异步任务"+num+"返回的数据xxxx";
num++; resolve(data); },2000);
})
} async function AsyncUtil(){ console.log("函数开始执行"); let result = await promiseUtil(); //返回的是一个Promise对象,可以使用then继续调用
console.log("异步任务返回数据:"+result); console.log("函数继续执行"); result = await promiseUtil();
console.log("异步任务返回数据:"+result); console.log("函数执行结束"); } AsyncUtil();

最新文章

  1. ORB-SLAM(六)回环检测
  2. C#中使用正则表达式验证电话号码、手机号、身份证号、数字和邮编
  3. js实现右侧的分享效果
  4. java基础知识回顾之javaIO类---InputStreamReader和OutputStreamWriter转化流
  5. UIKit: UIResponder(转自南峰子博客)
  6. Codevs 1082 线段树练习 3
  7. MYSQL 错误 :Out of resources when opening file './datagather/mx_domain#P#p178.MYD' (Errcode: 24) 解决办法
  8. Android系统移植与驱动开发--第三章 Git使用入门及在学习中有感
  9. hdu 4681 string
  10. python网络编程之网络主机信息
  11. Shell编程实践之批量安装JDK
  12. crypto在web的使用
  13. linux模块驱动之led(ioremap)
  14. ArcGIS消除图斑重叠错误
  15. redis 脑裂等极端情况分析
  16. CSS-表格特有属性和定位
  17. [Leetcode]931.下降路径最小和
  18. 如何恢复在Windows 10中被永久删除的照片?
  19. Java 常见BUG 整理
  20. python基础知识-01-编码输入输出变量

热门文章

  1. MySQL面试题及答案整理,史上最全!
  2. MOOC Web前端笔记(三):CSS样式
  3. DotnetSpider爬虫简单示例 net core
  4. windows2008 开启SNMP服务
  5. c++关于IOCP(完成端口)的服务器开发
  6. Kubemetes
  7. iframe中操作主体页面的元素,方法
  8. CSS之盒子居中的方法
  9. 干货分享 | 3个开发IoT项目的开源物联网平台
  10. Docker07-数据管理