NodeJs错误:在将报头发送到客户端后无法呈现报头从不同的功能发送响应时?

时间:2018-06-01 11:06:36

标签: node.js express

我的路由器正在调用一个调用另一个函数的函数,但是当我使用其他函数发送响应时,我收到错误

  

错误:在将标头发送到客户端后无法呈现标头。

但问题是我只发送一次响应然后我怎么能得到这个错误。

App.js

var Functions = require('./Functions');
app.post('/posts', Functions.fun1);

Functions.js

function func2(res, next) {
    res.json({status_code : 200, message : "Correctly Hit the URL!"});
    return next();
}

module.exports.func1 = function(req, res, next) {
    fun2(res, next);
}

编辑 - 实际上当我直接发送响应时(不使用其他功能)然后它仍然显示相同的错误,但事情是当我不发送任何响应时(例如删除res.send)比我在客户端没有得到任何回复(例如 - 但是有些响应应该是因为Header已经被发送了吗?)

1 个答案:

答案 0 :(得分:1)

您不需要在next之后致电res.json,因为您已完成处理请求。

function func2(res, next) {
   return res.json({status_code : 200, message : "Correctly Hit the 
                   URL!"});

}

module.exports.func1 = function(req, res, next) {
fun2(res, next);
}