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(),就相当于跳出圈圈,不执行后面的中间件代码了;
00