ExpressJS中间件req
,res
,next
有.on
和.pipe
等挂钩。
但我正在寻找app.get
和app.post
方法的钩子。
答案 0 :(得分:43)
app.use()
and middleware可用于“之前”,'close'
和'finish'
事件的组合可用于“之后“。
app.use(function (req, res, next) {
function afterResponse() {
res.removeListener('finish', afterResponse);
res.removeListener('close', afterResponse);
// action after response
}
res.on('finish', afterResponse);
res.on('close', afterResponse);
// action before request
// eventually calling `next()`
});
app.use(app.router);
这方面的一个例子是logger
middleware,默认情况下会在响应后附加到日志中。
请确保在app.router
之前使用此“中间件”,因为订单很重要。