您好我在尝试关注node.js上的示例时遇到以下错误 我已经将socket.io添加到快速解决方案中,但每当我尝试运行它时,我都会收到以下错误。 在对类似问题进行一些研究之后,我得出的结论是,我可能会在错误的时间内向标题添加内容,但我在socket.io之前将服务器放在了没有问题的地方。
错误
info - socket.io started
http.js:690
throw new Error('Can\'t set headers after they are sent.');
^
Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (http.js:690:11)
at ServerResponse.res.setHeader (/home/piero/dev/workspace/authentication/node_modules/express/node_modules/connect/lib/patch.js:62:20)
at next (/home/piero/dev/workspace/authentication/node_modules/express/node_modules/connect/lib/http.js:171:13)
at /home/piero/dev/workspace/authentication/node_modules/express/node_modules/connect/lib/middleware/static.js:150:11
at Object.oncomplete (fs.js:108:15)
堆栈
, "dependencies": {
"jquery" : "1.7.3"
, "cookie" : "0.0.4"
, "dnode" : "1.0.0"
, "mocha" : "1.3.0"
, "should" : "1.0.0"
, "socket.io" : "0.9.10"
, "ejs" : "0.7.1"
, "express": "2.5.8"
, "mongodb" : "1.0.2"
}
如果您在开始发布更多代码之前发现配置中存在任何问题,请告诉我们。 谢谢!
答案 0 :(得分:0)
我已经更新了依赖项,这似乎可以解决问题。我已经从第2版到第3版更改了快递,现在正在运行。 不确定是否可行,因为我不了解失败的原因,但现在正在努力。
答案 1 :(得分:0)
这是由于两次调用res.send
而发生的。