1
我對next()
如何在Node.js和Express中間件中工作感到困惑。誰在Express中間件中提供next()函數?
還有一些關於中間件工程的其他問題,for example here,但我正在尋找不同的答案。
糾纏我的主要問題是是誰提供next()
函數?
例如,在我的標準產生express
應用程序,我給這個代碼:
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
但誰調用這個函數,什麼是它提供的next()
的性質是什麼?我怎麼知道next()
會是什麼樣子?我不知道next()會做什麼。
這只是一個回調。當你執行'next'時,你明確告訴你在這裏完成了,它應該繼續下一個中間件,或者處理任何傳入的錯誤。 – 2015-02-11 21:46:45
*「誰提供下一個()函數」* Expressjs是。它在那裏,以便您可以指示中間件何時執行完畢。 – 2015-02-11 21:49:04
@KevinB那麼爲什麼你不通過下一個中間件旁邊的回調,比如'next(req,res,myNextFunc);'? – CodyBugstein 2015-02-11 21:59:28