在Express中请求的钩子之前和之后(在任何req之前和任何res之后执行)
ExpressJS中间件req
,res
,next
有像钩子.on
和.pipe
。
但是我正在寻找app.get
和app.post
方法的挂钩。
回答:
app.use()
和中间件可用于“ 之前
”,而'close'
and
'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
中间件就是一个例子,默认情况下,它将在响应后追加到日志中。
只需确保先使用此“ 中间件 ”即可,app.router
因为顺序很重要。
以上是 在Express中请求的钩子之前和之后(在任何req之前和任何res之后执行) 的全部内容, 来源链接: utcz.com/qa/415488.html