0
var connect = require('connect'),
    app = connect();
    app.use(connectRoute(function (router) {
        router.get('/', function (req, res, next) {
            callFun(res);
            })
            }))
 app.listen(port);

/** callFun **/
function callFun(res) {
var http = require('http');
var req = http.request(options, function(response) {
  response.on('data', function (chunk) {
    res.end(chunk);
  });
});

}

当我尝试使用 nodeload 运行上述代码时

./nl.js -c 1 -n 10 -i 1 http://localhost:1000/

我收到以下警告

    (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:663:33)
        at ClientRequest.<anonymous> (http.js:2069:7)
        at ClientRequest.EventEmitter.emit (events.js:117:20)
        at http.js:1710:9
        at process._tickCallback (node.js:415:13)

我该如何解决这个问题?
对此的任何帮助都会非常有帮助。谢谢

4

1 回答 1

0

该警告是由 生成的nodeload,而不是由您的应用生成的。

运行时我还会收到其他警告nodeload

http.createClient is deprecated. Use `http.request` instead.

我猜假设nodeload已经达到 EOL 是公平的,也许您应该开始寻找替代品(我喜欢flod)。或者只是认为警告是理所当然的,因为nodeload似乎仍然可以正常工作。

于 2013-10-09T06:14:12.680 回答