【发布时间】:2019-09-08 06:13:30
【问题描述】:
我正在尝试从 nodejs 中的 mysql 连接池获取连接。但是池的 getConnection 方法不返回回调函数。 (所以它不会显示任何错误或返回连接)。但我的 mysql 工作台显示已建立连接。仍然当我使用连接时,它不会在回调中返回任何内容。
var pool = mysql.createPool({
connectionLimit: 10,
host: "localhost",
database: "database",
user: "root",
password: "password"
});
exports.query = function (query, params, callback) {
pool.getConnection(function (err, connection) {
if (err) {
console.log(err);
connection.release();
callback(err.code, null);
}
console.log("connected");
connection.query(query, params, function (err, results) {
connection.release();
if (!err) {
callback(null, results);
}
else {
callback(err.code, null);
}
});
connection.on('error', function (err) {
connection.release();
callback(err.code, null);
});
});
}
这是我使用数据库查询的地方。
exports.getLevels= function(callback){
var query = 'SELECT * FROM levels';
db.query(query,null, function (err, results) {
if (err) {
console.log(err);
}
console.log('reached');
callback(err, results);
});
}
【问题讨论】: