我已經試了很長時間來解決這個問題,但我自己卻找不到適合我的問題的解決方案。可能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嗎? –