如題,express中間件,他是如何知道哪個中間件先處理,哪個中間件后處理的?這不用我們管嗎?如果我們 有2個自定義中間件有順序要求,那應該怎么定義呢?
2 回答

Smart貓小萌
TA貢獻1911條經(jīng)驗 獲得超7個贊
假設你請求的路徑是 `/user',并且此時有如下兩個路由同時匹配中你的請求。那么
理論上,這兩個路由匹配中的中間件都會執(zhí)行
后面中間件是否執(zhí)行,取決于前一個中間件,是否有調用
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
的數(shù)組來維護這個次序的。
xx.stack.push(fn1); xx.stack.push(fn2)
- 2 回答
- 0 關注
- 1187 瀏覽
添加回答
舉報
0/150
提交
取消