在我的节点应用程序中,我经常向远程站点发出请求。完成这5次后,这将停止工作。我从来没有从后续请求中获得任何“数据”或“结束”事件。
我偶然发现了这个问题:node.js http.get hangs after 5 requests to remote site
我不想增加最多5个并发请求,因为我从不发出5个并发请求。我一次制作一个,但似乎这些请求永远不会结束,所以它们永远不会从池中删除。增加池大小不是一个真正的解决方案。
我确实使用了给定答案所说的数据。这是我的代码:
function loadJSON(options, callback) {
var request = http.request(options, function(response) {
var receivedData = '';
response.on('data', function(data) {
receivedData += data;
});
response.on('end', function() {
console.log('end');
var object = JSON.parse(receivedData);
callback(null, object);
});
response.on('error', callback);
});
request.on('error', callback);
request.end();
}