Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 警告:检测到可能的EventEmitter内存泄漏。11 AppUp>;听众补充道。使用emitter.setMaxListeners()增加限制_Javascript_Node.js_Memory Leaks_Eventemitter - Fatal编程技术网

Javascript 警告:检测到可能的EventEmitter内存泄漏。11 AppUp>;听众补充道。使用emitter.setMaxListeners()增加限制

Javascript 警告:检测到可能的EventEmitter内存泄漏。11 AppUp>;听众补充道。使用emitter.setMaxListeners()增加限制,javascript,node.js,memory-leaks,eventemitter,Javascript,Node.js,Memory Leaks,Eventemitter,我正在使用以下事件发射器(我需要这个功能)。 我的问题是如何避免这个错误 似乎我在另一个事件中使用事件 警告:检测到可能的EventEmitter内存泄漏。11阿普普 听众补充道。使用emitter.setMaxListeners()增加限制 我正在使用node0.12.7 这是所有模块代码: var events = require('events'); var eventEmitter = new events.EventEmitter(); var run = function (req

我正在使用以下事件发射器(我需要这个功能)。 我的问题是如何避免这个错误

似乎我在另一个事件中使用事件

警告:检测到可能的EventEmitter内存泄漏。11阿普普 听众补充道。使用emitter.setMaxListeners()增加限制

我正在使用node0.12.7

这是所有模块代码:

var events = require('events');
var eventEmitter = new events.EventEmitter();

var run = function (req, res) {
        host = req.headers.host.split(':')[0];
        proxy.web(req, res, {
            target: 'http://' + host + ':' + port
        });
};


var runApp = function (req, res) {
    appStatus.eventEmitter.on('AppUp', function () {
        run(req, res);
    });
    if (model.get()) {
        run(req, res);
    }

}


module.exports = {
    runApp: runApp
};

有没有办法避免此错误?

每次调用runApp函数时,它都会为AppUp事件设置侦听器。因此,如果多次调用runApp函数,则调用runApp函数的次数将与之前调用runApp的次数相同,加上发出AppUp事件时的实际调用次数

可能的解决方案是通过以下修改只侦听AppUP事件一次:

appStatus.eventEmitter.once('AppUp', function () {
    run(req, res);
});