我知道这个问题已经被问过很多了,不过我已经花了一天时间阅读这篇文章但我还是被困住了。我有以下功能消失,并在本地服务器上运行。
var http = require('http');
var config = require('../config.js');
exports.get_test_jobs = function(res, data) {
var optionsget = {
host: config.jobs_rest_host,
port: config.jobs_rest_port,
path: "/jobs3/jobtest",
method: "GET"
};
var reqGet = http.request(optionsget, function(res) {
res.setEncoding('utf-8');
res.on('data', function(d) {
return data.send(d);
});
});
reqGet.end();
reqGet.on('error', function(e) {
console.error(e);
});
}
/* a few more functions along the same idea */
这是从我的server.js文件中调用的
app.get('/jobs/test', jobs_hdlr.get_test_jobs);
这是奇怪的一点 - 这似乎工作正常,当我在unix(mac和ubuntu)上运行这很好,但当我尝试在我的Windows(工作)PC上运行它我得到可怕的&#34 ;发送后无法获得标题"错误。这可能是一个windows的事吗?或者我只是幸运地使用其他机器?
我使用快递3.12 - 可能与此有关吗? (我认为快递4.4现在已经出来......我应该升级,但很多东西已被删除)
(为了清楚起见,现在我总是在同一台机器上运行其余服务器,第二阶段将主持其他地方)
答案 0 :(得分:1)
'data'事件可以多次发出(这很可能是你的情况)。永远不要以为它只会被发射一次。