在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

