大佬教程收集整理的这篇文章主要介绍了ES6新特性八:async函数用法实例详解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了ES6新特性之async函数用法。分享给大家供大家参考,具体如下:
1. async 函数是什么?
node.js 版本7及之后版本才支持该函数。
可以简单的理解为他是Generator 函数的语法糖,即Generator 函数调用next()
返回的结果。
① Generator
函数需要next() 或执行器进行执行,而async 函数只需和普通函数一样执行。
② async
和await
,比起星号和yield
,语义更清楚了。async表示函数里有异步操作,await表示紧跟在后面的表达式需要等待结果,结果返回才会向下执行。
③ async函数的返回值是 Promise 对象,这比 Generator 函数的返回值是 Iterator 对象方便多了。你可以用then方法指定下一步的操作。
2. async 函数与Generator 函数写法对比
3. async 函数的作用?
在异步程序中(比如在nodejs),在下一步程序中,需要异步返回的结果,由于是异步,下一步会在异步返回前就会执行完,这时程序就会出现不是我们预想的结果。而async 函数就可以很好的解决这一问题。我们将异步操作放在await 后面,等待异步返回了结果程序才会向下执行。
举例:
4. 语法
① async 函数返回一个promise
对象。
② async函数内部return
语句返回的值,会成为then方法回调函数的参数。
③ async函数的await
命令后面,可以是Promise 对象和原始类型的值(数值、字符串和布尔值,但这时等同于同步操作),如果不是Promise 对象,会被转成一个立即resolve的 Promise 对象。
④ async函数返回的 Promise 对象,必须等到内部所有await命令后面的 Promise 对象执行完,才会发生状态改变,除非遇到return语句或者抛出错误。也就是说,只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数。
⑤ await命令后面的 Promise 对象如果变为reject
状态,则reject的参数会被catch
方法的回调函数接收到。
await
命令后面的异步操作,如果不存在继发关系,最好让它们同时触发。不然会增加耗时。
希望本文所述对大家ECMAScript程序设计有所帮助。
以上是大佬教程为你收集整理的ES6新特性八:async函数用法实例详解全部内容,希望文章能够帮你解决ES6新特性八:async函数用法实例详解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。