ES6 async、await的基本使用方法示例


Posted in Javascript onJune 06, 2020

本文实例讲述了ES6 async、await的基本使用方法。分享给大家供大家参考,具体如下:

async是异步编程的最新标准,我们来看看async如何使用

1.async的简单使用

async function fn () {
 return 'abc'
}
console.log(fn());                    // Promise { 'abc' }
fn().then(res => {
 console.log(res);                    // "abc"
})

async作为关键字放在函数前面,让同步的函数成为异步函数,不关函数里返回什么,打印出还是promise,说明async还是基于promise的,async的异步方式还是比promise更加简单优雅的。

2.await的简单使用

// 这里模拟一个耗时操作
function asyncFunc() {
 return new Promise( resolve => {
  setTimeout(() => {
   resolve(100)
  }, 1000);
 })
}

async function fn () {
 let a = await asyncFunc();
 console.log(a);                    // 100
}

fn()

一秒后打印出了100,async和await搭配使用,await可以接收异步函数,整个过程看上去有点像同步代码,但其实是异步操作。

我们在fn()上加上一行代码

async function fn () {
 let a = await asyncFunc();
 console.log(a);                    // 100
 console.log(200);                    // 200
}

执行上面代码看到两次都是在暂停一秒打印出来的,这说明await的后面如果是promise(耗时操作),它会阻塞整个函数,下面的代码不会执行。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
showModelessDialog()使用详解
Sep 07 Javascript
jquery创建div 实现代码
Apr 27 Javascript
javascript 关于# 和 void的区别分析
Oct 26 Javascript
JS子父窗口互相操作取值赋值的方法介绍
May 11 Javascript
用js的for循环获取radio选中的值
Oct 21 Javascript
用console.table()调试javascript
Sep 04 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
Mar 25 Javascript
论Bootstrap3和Foundation5网格系统的异同
May 16 Javascript
使用JQuery选择HTML遍历函数的方法
Sep 17 Javascript
webpack常用配置项配置文件介绍
Nov 07 Javascript
JavaScript的继承实现小结
May 07 Javascript
JS轮播图的实现方法2
Aug 25 Javascript
JS 数组和对象的深拷贝操作示例
Jun 06 #Javascript
ES6 Generator基本使用方法示例
Jun 06 #Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 #jQuery
ES6 Symbol在对象中的作用实例分析
Jun 06 #Javascript
微信小程序多列表渲染数据开关互不影响的实现
Jun 05 #Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
Jun 05 #Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
Jun 05 #Javascript
You might like
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
浅析关于PHP位运算的简单权限设计
2013/06/30 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
PHP程序中使用adodb连接不同数据库的代码实例
2015/12/19 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
JavaScript动态生成二维码图片
2016/04/20 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
JavaScript实战之带收放动画效果的导航菜单
2016/08/16 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
Python开发常用的一些开源Package分享
2015/02/14 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
将世界上最美丽的摄影作品转化为艺术作品:Photos.com
2017/11/28 全球购物
捷克建筑材料网上商店:DEK.cz
2021/03/06 全球购物
安全责任书怎么写
2014/07/28 职场文书
信访工作汇报材料
2014/10/27 职场文书
2014年化验室工作总结
2014/11/21 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
2019职场实习报告该怎么写?
2019/07/01 职场文书
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫