如题,express中间件,他是如何知道哪个中间件先处理,哪个中间件后处理的?这不用我们管吗?如果我们 有2个自定义中间件有顺序要求,那应该怎么定义呢?
高洛峰2017-04-17 14:49:22
假設你要求的路徑是 `/user',並且此時有以下兩個路由同時匹配中你的請求。那麼
理論上,這兩個路由匹配中的中間件都會執行
後面中間件是否執行,取決於前一個中間件,是否有呼叫next()
app.get('/user', function(req, res, next){
console.log('1');
next();
});
app.get('/user', function(req, res, next){
console.log('2');
res.send('user');
});
express內部是透過一個叫做stack
的陣列來維護這個次序的。
xx.stack.push(fn1);
xx.stack.push(fn2)