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 相关文章推荐
Javascript Select操作大集合
May 26 Javascript
9个javascript语法高亮插件 推荐
Jul 18 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
Mar 04 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
Dec 08 Javascript
js函数的引用, 关于内存的开销
Sep 17 Javascript
jquery触发a标签跳转事件示例代码
Jul 21 Javascript
React.js入门实例教程之创建hello world 的5种方式
May 11 Javascript
利用Node.JS实现邮件发送功能
Oct 21 Javascript
javascript数据类型详解
Feb 07 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
Oct 25 Javascript
vue几个常用跨域处理方式介绍
Feb 07 Javascript
浅析Angular 实现一个repeat指令的方法
Jul 21 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,不用COM,生成excel文件
2006/10/09 PHP
下载文件的点击数回填
2006/10/09 PHP
PHP-redis中文文档介绍
2013/02/07 PHP
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
PHP文件操作详解
2016/12/30 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
php输出控制函数和输出函数生成静态页面
2019/06/27 PHP
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
全面解析Bootstrap表单使用方法(表单控件)
2015/11/24 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
Python实现堆排序的方法详解
2016/05/03 Python
python matplotlib 在指定的两个点之间连线方法
2018/05/25 Python
python内置数据类型之列表操作
2018/11/12 Python
python实现图片中文字分割效果
2019/07/22 Python
python中eval与int的区别浅析
2019/08/11 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
详解Python中第三方库Faker
2020/09/25 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
销售人员自我评价怎么写
2013/09/19 职场文书
喝酒检查书范文
2014/02/23 职场文书
高三毕业寄语
2014/04/10 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
党风廉正建设责任书
2015/01/29 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle