javascript - 当响应完成时,我应该在快速响应(流)对象中处理哪些事件?

标签 javascript node.js express dom-events node-streams

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

我有这样的东西:

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();
}
  • 这样做是否涵盖了所有情况? (例如,当请求被中断时)
  • 对于每个请求,我最多会接到一次电话吗?

如果任何答案是否定的,请说明如何做。

最佳答案

尝试根据 documentation 设置完成事件:

这是一个示例实现:

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

关于javascript - 当响应完成时,我应该在快速响应(流)对象中处理哪些事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38273555/

相关文章:

javascript - this.id对应变量

node.js - 如何禁用羽毛服务中的分页?

javascript - 将 secret 存储到 Bitbucket Pipelines 中,然后在 App Engine 上部署?

node.js - Node js -如何从数组中删除特定的_id数据

javascript - 基本 import.io html 搜索

javascript - 防止 Bootstrap .table-responsive 样式裁剪工具提示

node.js - 如何强制阻止 Node.js 进程终止?

node.js - 在 Mongoose 的模式中使用短字段名称是否可取?

node.js - 中间件实际上是如何工作的?

javascript - 如何解除绑定(bind)此 .click 操作?