ExpressJS 中间件 req
、res
、next
有像 .on
和 .pipe< 这样的钩子(Hook)
。
但我正在寻找 app.get
和 app.post
方法的 Hook 。
最佳答案
app.use()
and middleware可用于 "before"和 '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
之前使用此“中间件”,因为顺序很重要。
关于node.js - 用于 express 请求的 before 和 after 钩子(Hook)(在任何 req 之前和任何 res 之后执行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20175806/