- async函数是什么
async函数是generator函数的语法糖。
例如generator函数依次读取两个文件:
写成async函数,就是下面这样。
经过比较发现,async函数就是将generator函数的*号替换成async,将yield替换成await。
- async函数的改进
1. 内置执行器
async函数自带执行器,而generator函数必须靠执行器。
2. 更好的语义
async和await,比起*号和yield,语义更清楚。
3. 更广的应用
async函数的await后面可以跟promise对象和原始类型的值,而yield不能跟原始类型的值。
- async函数的用法
async函数返回一个promise对象,可以使用then方法添加回调函数。当函数执行遇到await就会先返回,等到异步操作完成后,再接着执行函数体内后面的语句。
- async函数注意点
await命令只能用在async函数之中,如果用在普通函数,就会报错。