我有功能,在&data;数据编译时执行。事件火灾,看起来像他的:
eventEmitter.on('dataCompiled', function () {
json = JSON.stringify({
conversations: convs
});
res.json(json).end();
return;
});
但是当我刷新页面时,我收到错误
Error: Can't set headers after they are sent.
答案 0 :(得分:1)
最后想通了,需要将json直接发送到end函数,所以它看起来像那样:
res.end(json);
答案 1 :(得分:0)
如果我没有弄错的话,你不需要字符串化并结束对res.json的调用:
eventEmitter.on('dataCompiled', function () {
return res.json({
conversations: convs
});
});
答案 2 :(得分:0)
您确定在此次通话后没有发送更多数据吗?您不应该使用res.end()
:http://expressjs.com/en/4x/api.html#res.end。
如果您的代码中有另一个地方您正在向res发送更多数据,则会提供您正在接收的错误消息,res.end并未解决根本问题。