亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

express中間件,他是如何知道哪個中間件先處理,哪個中間件后處理的?

express中間件,他是如何知道哪個中間件先處理,哪個中間件后處理的?

www說 2018-10-11 17:14:35
如題,express中間件,他是如何知道哪個中間件先處理,哪個中間件后處理的?這不用我們管嗎?如果我們 有2個自定義中間件有順序要求,那應該怎么定義呢?
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

把先調用的中間件寫在前面就好了,就是這么直接。

查看完整回答
反對 回復 2018-10-25
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

假設你請求的路徑是 `/user',并且此時有如下兩個路由同時匹配中你的請求。那么

  1. 理論上,這兩個路由匹配中的中間件都會執行

  2. 后面中間件是否執行,取決于前一個中間件,是否有調用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)


查看完整回答
反對 回復 2018-10-25
  • 2 回答
  • 0 關注
  • 1190 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號