我已经试了很长时间来解决这个问题,但我自己却找不到适合我的问题的解决方案。可能EventEmitter内存泄漏检测到没有EventEmiter
我有这样的方法:
handle_database = function(callback, req, res) {
pool.getConnection(function(err,connection){
if (err) {
res.json({"code" : 100, "status" : "Error in connection database"});
return;
}
connection.query("select * from `atable`",function(err,rows){
connection.release();
if(!err) {
callback(rows);
}
});
connection.on('error', function(err) {
res.json({"code" : 100, "status" : "Error in connection database"});
return;
});
});
}
这种方法在我routes.js使用了这种方式:
router.get('/', function(req, res){
db.getUsers(function (data) {
res.render('pages/index',{users: data, title: 'title'});
}, req, res);
});
当我刷新该网页11次连续得到以下警告:
(node:11780)警告:检测到可能的EventEmitter内存泄漏。添加了11个错误侦听器。使用emitter.setMaxListeners()来增加限制
但我找不到如何解决这个问题,或者只是将限制设置为0一个聪明的想法?
你在使用连接数据库和管理游泳池? –
'VAR池= mysql.createPool({ connectionLimit:10, 主机: '本地主机', 用户: '根', 密码: 'PW', 数据库: 'DB', 调试:假, } );' – R4LPH
是什么插件?有几十个库来访问节点中的数据库。你使用mysqljs/mysql吗? –