在Express中请求的钩子之前和之后(在任何req之前和任何res之后执行)

ExpressJS中间件reqresnext有像钩子.on.pipe

但是我正在寻找app.getapp.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

回到顶部