后端框架koa2中采用了async函数取代了前一代中的Generator函数,所以有必要对async函数进行进一步的理解。
首先应该明白async函数其实只是Generator函数的一个语法糖而已,对于Generator函数而言,他无法自执行,而需要自己来书写或导入执行器来帮助执行,而对于async函数来说,只需要想普通的同步函数一样调用即可,只是在书写函数时需要在开头加入async,而在内部需要进行异步操作的地方加上await。
注意:await后面要等待的是什么?
答:一个Promise对象
我们来看下面这个例子:
我们可以很清楚的发现,当await后面不是一个Promise对象时,那么他将不被await等待,若是一个异步操作,就会被加入异步队列。