响应完成后,我应该在快速响应(流)对象中处理哪些事件

What events should I handle in express response (stream) object to handle when the response finishes?

本文关键字:响应 对象 处理 事件 我应该      更新时间:2023-09-26

我正在尝试在请求完成时自动记录。

我有这样的东西:

function (req, res, next) {
    var startTime = clock.now();
    res.on('end'. function() {
        logger.trace("END ...", req.path, res.statusCode, clock.now() - startTime, ...);
    });
    res.on('error'. function() {
        logger.trace("END ...", req.path, clock.now() - startTime, ...);
    });
    nest();
}
  • 这样做是否涵盖所有情况?(例如,当请求被中断时)
  • 每个请求最多给我打电话一次吗?

如果任何答案是否定的,请包括如何操作。

尝试根据文档设置完成事件:

下面是一个示例实现:

app.use(function(req, res, next) {
    res.on('finish', function() {
        console.log('the response has been sent', res.statusCode);
    });
    next();
});