2013-10-26 94 views
0

我已阅读了关于此主题的一堆内容,但仍不明白与我的代码(或我的逻辑问题/对实际情况的理解)的问题。有人能解释我错过了什么吗?事件发射器内存泄漏

基本上,我缩小了这个问题,直到我连续运行下面的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) 

回答