koa中间件在定义的时候,next到底是什么?

来源:3-3 Koa中间件

夏筱晗

2019-05-13

例如:

const A = require('./middleware/A');
const B = require('./middleware/B');
app.use(A());
app.use(B());

那么,在A中间件里面,必定会有一句:await next()
这个next()是将接收到的request放行吗?

还有就是,先use了A中间件,然后是B中间件,无论A与B中间件内部有什么样的逻辑,是否包含异步操作,最终都会因为promise的缘故,变成顺序执行,即先执行中间件A再执行中间件B,是这样吗?

写回答

1回答

慕粉2321014231

2019-05-14

老师那个洋葱的比喻我觉得非常恰当,也很好理解,await next()就可以想象成洋葱内部的圈圈,就相当于执行后面中间件的代码,如果不加await next(),就相当于跳出圈圈,不执行后面的中间件代码了;


0
0

Vue全家桶+SSR+Koa2全栈开发美团网

整合大前端8项技术,全面晋级全栈工程师,毕设/面试作品

2445 学习 · 1638 问题

查看课程