async函数(异步函数)
概述
async 函数是在 ES2017 引入的。
概念:真正意义上去解决异步回调的问题,同步流程表达异步操作。
本质: Generator 的语法糖。
async比之前的 Promise、Generator要好用一些。
语法:
async function foo() {
await 异步操作;
await 异步操作;
}
我们在普通的函数前面加上 async 关键字,就成了 async 函数。
async、Promise、Generator的对比(async的特点)
1、不需要像Generator去调用next方法,遇到await等待,当前的异步操作完成就往下执行。
2、async返回的总是Promise对象,可以用then方法进行下一步操作。
3、async取代Generator函数的星号*,await取代Generator的yield。
4、语意上更为明确,使用简单,经临床验证,暂时没有任何副作用。
网友评论