ES2017 标准引入了 async 函数
来源:互联网 发布:零基础学java pdf下载 编辑:程序博客网 时间:2024/06/03 06:56
async
表示函数里有异步操作,await
表示紧跟在后面的表达式需要等待结果。
async
函数对 Generator 函数的改进,体现在以下四点。
(1)内置执行器。
Generator 函数的执行必须靠执行器,所以才有了co
模块,而async
函数自带执行器。也就是说,async
函数的执行,与普通函数一模一样,只要一行。
var result = asyncReadFile();
上面的代码调用了asyncReadFile
函数,然后它就会自动执行,输出最后结果。这完全不像 Generator 函数,需要调用next
方法,或者用co
模块,才能真正执行,得到最后结果。
(2)更好的语义。
async
和await
,比起星号和yield
,语义更清楚了。async
表示函数里有异步操作,await
表示紧跟在后面的表达式需要等待结果。
(3)更广的适用性。
co
模块约定,yield
命令后面只能是 Thunk 函数或 Promise 对象,而async
函数的await
命令后面,可以是Promise 对象和原始类型的值(数值、字符串和布尔值,但这时等同于同步操作)。
(4)返回值是 Promise。
async
函数的返回值是 Promise 对象,这比 Generator 函数的返回值是 Iterator 对象方便多了。你可以用then
方法指定下一步的操作。进一步说,async
函数完全可以看作多个异步操作,包装成的一个 Promise 对象,而await
命令就是内部then
命令的语法糖。
阅读全文
0 0
- ES2017 标准引入了 async 函数
- ES2017 异步函数async/await
- ES2017 新特性:Async Functions (异步函数)
- 使用ES2017的异步函数
- ECMAScript6标准异步操作和Async函数
- ES2017异步函数现已正式可用
- ES2017异步函数现已正式可用
- ES2016 & ES2017
- 超级厉害的JavaScript —— ECMAScript 6 标准(9) —— Async函数
- ES7中的async函数
- Async函数介绍
- Async函数介绍
- async/await 异步函数
- Async Functions (异步函数)
- async函数基础
- async/await 异步函数
- Async Functions (异步函数)
- async函数和await函数
- 2.2 Ubuntu下安装Android Studio
- windowsoracle安装时问题
- eclipse 打war包后运行时报 cas.client 错误
- STL中部分常用的方法
- 第八章 管理支付和订单
- ES2017 标准引入了 async 函数
- 详细图解MySQL5.7(win7x64 5.7.16版本)下载、安装、配置与使用
- Android build tips
- CentOS 7 命令lsb_release: command not found解决方案
- BZOJ 4236 JOIOJI 排序+线扫
- 在.NET中读取嵌入和使用资源文件的方法
- Python库的安装方法
- SSL/TLS协议运行机制的概述
- 字符转义之PHP与JS