ES6中async函数(二)

2018-10-16  本文已影响10人  XJBT

async函数返回的是什么东西?

看这样一个例子:

查看async函数的返回结果 返回结果 没有写return语句时 无return语句的执行结果 从这里我们可以发现,async函数总是返回一个Promise对象,即使没有return语句也会将undefined包装为一个Promise对象进行返回,这也正是我们在koa框架中使用async函数的原因,中间件里的函数采用async函数后,里面搭配上适当的await就可以达到确定异步操作顺序的目的。 koa中间件调用 上图可以看到我们设置了两个中间件,都采用的是async函数,访问localhost7070端口时,首先调用第一个中间件,输出11,接下来利用next将执行权交给下一个中间件,下一个中间件返回一个Promise对象,实际情况其中可能封装一些异步操作,第一个中间件里的await则是为了拿到上述这个异步操作的结果,若没有写await则无法获得这个结果。执行结果如下: 执行结果 若将上述代码中的await去掉,那么等号将直接把下一个中间件返回的Promis对象赋值给res,得到的结果也就是这样了: 缺少await时
上一篇 下一篇

猜你喜欢

热点阅读