Javascript 警告:检测到可能的EventEmitter内存泄漏。11 AppUp>;听众补充道。使用emitter.setMaxListeners()增加限制
我正在使用以下事件发射器(我需要这个功能)。 我的问题是如何避免这个错误 似乎我在另一个事件中使用事件 警告:检测到可能的EventEmitter内存泄漏。11阿普普 听众补充道。使用emitter.setMaxListeners()增加限制 我正在使用node0.12.7 这是所有模块代码: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
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);
});