2013-10-26 89 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) 

回答