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

為了賬號安全,請及時綁定郵箱和手機立即綁定

next()的處理

scott老師,我想請問一下,next()后執行的是位置上的下一個,還是邏輯上的下一個?

正在回答

2 回答

樓主是在編寫路由規則么,如果是的話,是指符合路由規則的下一個控制器,比如(下面是簡寫的代碼哈)

app.use('/test/*',function(req,res,next){
????next();
});
app.get('/hahah/*',function(req,res){
????console.log('dassadd');
})
app.get('/test/user',function(req,res){
????console.log('.................');
})

在瀏覽器http://localhost:3000/test/user時,它先進入use哪個handle進行處理(這個一般叫做預處理,中間件),然后下一個是/hahah/*,不符合路由規則,再下一個是/test/user,符合,然后就進入這個handle盡心處理了

這么說,樓主可否理解

0 回復 有任何疑惑可以回復我~
#1

Jsamchow 提問者

非常感謝!
2015-12-14 回復 有任何疑惑可以回復我~
#2

Jsamchow 提問者

可能還有點疑惑,想再向您請教一下,如果不加next(),會不會經過use的那一步呢?(沒有自己測試,見諒)
2015-12-14 回復 有任何疑惑可以回復我~
#3

子木李 回復 Jsamchow 提問者

會的,但是不會進入下面的get的路由處理,所以,可能會報錯,use一般用來加載中間,,get這些路由函數才是真正對請求進行了處理,更詳細的內容,建議樓主可以閱讀下express的文檔
2015-12-14 回復 有任何疑惑可以回復我~

感謝,明白了,就是和請求的路由有關,預處理是必經的處理,然后next()就是實際請求的路由了。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
node建站攻略(二期)——網站升級
  • 參與學習       51926    人
  • 解答問題       423    個

幫助你深入前后端開發留下的迷惑,為進一步自學打下基礎

進入課程

next()的處理

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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