每日骚话

这次我们来说一下同步和异步哈,这个Async和Await都是解决异步时候返回顺序不一致的问题的。
简单来说,Async与Await是对Promise的优化,让Promise看起来更美观一些。
话说,我用习惯了Promise,刚学Async和Await那会有点懵逼,今儿恍然大悟,就来CSDN水一下哈,顺便供大家参考。


说明

这里有必要说一下哈,Async和Await还有Promise是在ES6里边的,所以得运行在node里边。
另外,Async和Await一般情况下同时出现,光用一个貌似没效果?甚至会报错……
关于ES6的更多知识,可以去一峰老师的网站看看哈。

Async

返回的是Promise对象
一般为:async myFun( ){ await new Primise(resolve=>{ }) }

Await

a(async) wait = await
得在Async函数里面使用,不然会报错。
await 相当于卡了个点,告诉async函数,这个点执行完了才能继续执行下面的功能。


例子

下面的例子写了一个异步操作,一个直接操作来说明async、await的同步作用

代码
  created() {this.shunxu();},methods: {async shunxu() {await new Promise((res) => {setTimeout(() => {res();}, 1000);}).then(() => {console.log("我的异步操作,一秒后执行");});console.log("我是直接打印的");},}
效果

可以看见是先等待异步操作执行完了之后,再去执行下面的操作的,这就解决了异步操作时,执行顺序不按编码顺序的问题。

没有await的情况

我们把上面的代码中,new Promise 前面的 await 去掉就行了。

可以看见,去掉await之后,是先直接打印出来,然后再执行异步操作的。

总结

  1. 一般async与await同步出现
  2. async返回promise对象
  3. await出现在async函数内部,单独只用会报错

好哒,那我这次的分享就到这里啦,写的比较简单,苦逼的社畜难得抽出时间来写东西,留下了后悔的泪水……

最后,共勉哈~

ES6进阶Async与Await,你不知道的同步与异步相关推荐

  1. ajax中异步属性,ajax中的async属性值之同步和异步及同步和异步区别

    jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里 ...

  2. 前端综合学习笔记---异步、ES6/7、Module、Promise同步 vs 异步

    个人bolg地址 同步 vs 异步 先看下面的 demo,根据程序阅读起来表达的意思,应该是先打印100,1秒钟之后打印200,最后打印300.但是实际运行根本不是那么回事 console.log(1 ...

  3. 掌握JavaScript中的迭代器和生成器,顺便了解一下async、await的原理

    掌握JavaScript中的迭代器和生成器,顺便了解一下async.await的原理 目录 掌握JavaScript中的迭代器和生成器,顺便了解一下async.await的原理 前言 1.迭代器(It ...

  4. C# 中的Async 和 Await 的用法详解

    众所周知C#提供Async和Await关键字来实现异步编程.在本文中,我们将共同探讨并介绍什么是Async 和 Await,以及如何在C#中使用Async 和 Await. 同样本文的内容也大多是翻译 ...

  5. 【转载】 C# 中的Async 和 Await 的用法详解

    众所周知C#提供Async和Await关键字来实现异步编程.在本文中,我们将共同探讨并介绍什么是Async 和 Await,以及如何在C#中使用Async 和 Await. 同样本文的内容也大多是翻译 ...

  6. 关于Async与Await的FAQ

    =============C#.Net 篇目录============== 环境:VS2012(尽管System.Threading.Tasks在.net4.0就引入,在.net4.5中为其增加了更丰 ...

  7. asp.net html5 异步,asp.net core 系列 5 项目实战之:NetCore 的 async 和 await(参考自:Microsoft教程)...

    十年河东,十年河西,莫欺少年穷 学无止境,精益求精 1.简介 从 VS 2012 开始,新引入了一个简化的方法,称为异步编程.我们在 >= .NETFRM 4.5 中和 Windows 运行时中 ...

  8. 浅谈async、await关键字 = 深谈async、await关键字

    前言 之前写过有关异步的文章,对这方面一直比较弱,感觉还是不太理解,于是会花点时间去好好学习这一块,我们由浅入深,文中若有叙述不稳妥之处,还请批评指正. 话题 (1)是不是将方法用async关键字标识 ...

  9. 关于async与await的FAQ 转

    (译)关于async与await的FAQ 传送门:异步编程系列目录-- 环境:VS2012(尽管System.Threading.Tasks在.net4.0就引入,在.net4.5中为其增加了更丰富的 ...

最新文章

  1. 在Ubuntu 14.04 64bit上为Sublime text 3安装搜狗拼音输入法
  2. 数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题
  3. ConcurrentHashMap 的实现原理
  4. python如何编程-编程零基础应当如何开始学习 Python?
  5. 初学python还是swift-Swift 势必取代 Python?
  6. (转)网上常用免费WebServices集合
  7. Hologres如何基于roaringbitmap实现超高基数UV计算?
  8. 计算机pc软盘不能数字,老人把遗嘱存5寸软盘难坏家人 老电脑终未读出
  9. vue 移动到图片浮动_基于Vue实现图片在指定区域内移动
  10. 三招让你成为vue.js大师
  11. mybatis多个foreach_MyBatis中使用foreach完成复杂查询
  12. AMEsim2019.2的安装和matlab2019的联合仿真
  13. cad上样条曲线上的点太多了_CAD样条曲线添加控制点
  14. ESXi服务器遇到 IPMI_SI_DRV 的解决, 感谢原作者 以及今天 解决问题.
  15. Conversion failed when converting date and/or time from character string.
  16. 当滑雪这项世界最古老的运动遇上AI
  17. 计算机错误651是什么故障,win7电脑宽带连接错误651是什么原因_怎么解决 - 驱动管家...
  18. 计算方法(1~3章)
  19. 天道酬勤之Java 实例 - 数组获取最大和最小值
  20. 论是否可能找到一种独特技术指标的组合形成自己的交易系统

热门文章

  1. Python自动化办公 | 补写178份Word日报!
  2. 只用6张图教会AI识别物体,达摩院新方案大幅降低AI数据标注成本
  3. 标贝科技推出情感合成 TTS,让语音交互更有温度!
  4. 祝贺 Java 走过创新的 25 年
  5. 美国空手道俱乐部的 Python 库原来长这样!
  6. 华为腾讯众安微众360大咖齐聚,2019中国区块链开发者大会首批议程曝光!
  7. 倪光南:中国 5G 有望成为世界第一
  8. Laravel 成为最佳 PHP 框架的 14 个理由!
  9. 5大主流主链排行版出炉; 以太坊新生合约数持续3周下跌; 各大榜单均现“黑马”冲榜!| 数据周榜...
  10. 父母延长退休,作为程序员的我光荣失业