このトピックについてたくさん読んだことがありますが、コードの問題 (または、実際に何が起こっているのかについてのロジック/理解の問題) をまだ理解していません。誰かが私が欠けているものを説明してもらえますか?
基本的に、この問題は、次の HTTP GET 要求を連続して実行する場合に絞り込みました。ループを 10 回しか実行しない場合は問題ありませんが、100 回実行するとエラーがスローされます。
これが私のコードです:
var request = require('request');
for(var i = 0; i < 100; i++){
request({
url:'http://www.govtrack.us/api/v2/vote',
qs:{
related_bill : 292931
}
}, function(err, res, body){
//console.log(res);
console.log(err);
//console.log(body);
});
}
エラーは次のとおりです。
node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at Socket.EventEmitter.addListener (events.js:160:15)
at Socket.Readable.on (_stream_readable.js:689:33)
at Socket.EventEmitter.once (events.js:179:8)
at Request.onResponse (/Users/Josh/Node/Dev/node_modules/request/request.js:625:25)
at ClientRequest.g (events.js:175:14)
at ClientRequest.EventEmitter.emit (events.js:95:17)
at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1689:21)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:120:23)
at Socket.socketOnData [as ondata] (http.js:1584:20)
at TCP.onread (net.js:525:27)