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