Javascript 如何在node js和mysql中检查db连接是否成功
我正在使用mysql连接池创建连接。代码如下所示Javascript 如何在node js和mysql中检查db连接是否成功,javascript,mysql,node.js,node-mysql,connection-pool,Javascript,Mysql,Node.js,Node Mysql,Connection Pool,我正在使用mysql连接池创建连接。代码如下所示 var pool = mysql.createPool(connectionProps); 通过访问池,我将获得一个对象,即使连接不成功。我通过启动和停止mysql进行了检查 我想要的是,我需要检查连接是否成功,如下所示 if(pool){ // mysql is started && connected successfully. console.log('Connection Success'); doSomet
var pool = mysql.createPool(connectionProps);
通过访问池,我将获得一个对象,即使连接不成功。我通过启动和停止mysql进行了检查
我想要的是,我需要检查连接是否成功,如下所示
if(pool){ // mysql is started && connected successfully.
console.log('Connection Success');
doSomething();
}else{
console.log('Cant connect to db, Check ur db connection');
}
我想要这样的东西。那么,我们如何使用mysql池对象实现这一点呢。有人能帮我吗
谢谢你,通常你会做一些事情,比如从数据库中任意选择一些东西,如果失败了,你会捕获一个错误。例子来自 并要求像这样使用它:
db.connection.query("SELECT * FROM `table` WHERE `id` = ? ", row_id)
.on('result', function (row) {
setData(row);
})
.on('error', function (err) {
callback({error: true, err: err});
});
var pool = mysql.createPool(config.db);
exports.connection = {
query: function () {
var queryArgs = Array.prototype.slice.call(arguments),
events = [],
eventNameIndex = {};
pool.getConnection(function (err, conn) {
if (err) {
if (eventNameIndex.error) {
eventNameIndex.error();
}
}
if (conn) {
var q = conn.query.apply(conn, queryArgs);
q.on('end', function () {
conn.release();
});
events.forEach(function (args) {
q.on.apply(q, args);
});
}
});
return {
on: function (eventName, callback) {
events.push(Array.prototype.slice.call(arguments));
eventNameIndex[eventName] = callback;
return this;
}
};
}
};
db.connection.query("SELECT * FROM `table` WHERE `id` = ? ", row_id)
.on('result', function (row) {
setData(row);
})
.on('error', function (err) {
callback({error: true, err: err});
});