node express server request.on('end')仅针对get触发

时间:2016-02-04 14:30:21

标签: javascript node.js express

我正在尝试创建一个在请求结束时触发的中间件函数。

中间件

module.exports = function(req, res, next) {
    req.on("end", function() {
        console.log('End');
    });
    next();
};

我包含这样的中间件。

app.all('/*', [require('./middlewares/activityLogger.js')]);

目前我看到“控制台中的END为GET请求但不是POST,PUT和DELETE”

我如何结束请求的示例 获取(工作)

res.status(200).json(result)

POST(不工作)

res.status(201).json(result.create)

是否有任何建议为什么我的中间件功能仅在GET请求中触发?

1 个答案:

答案 0 :(得分:0)

通过听完"完成"解决它事件而不是"结束"

module.exports = function(req, res, next) {
    res.on('finish', function() {
        console.log('finish');
    });
    next();
};