NodeJS MySQL - 如何知道连接是否释放
NodeJS MySQL - How to know connection is release or not
我正在开发 NodeJS + MySQL web API。
我正在使用 mysql npm 模块。
我想知道连接是否释放,是否有任何函数或变量。
喜欢
if(!connection.isRelease() OR !connection.isClose() OR !connection.end()) {
connection.release();
}
有没有具体的函数可以知道连接是否释放?
我收到类似 "connection already release"
的错误
您可以查看连接是否在池中,看是否被释放。如果未释放连接,则空闲连接中的索引将为 -1。这是一个例子。
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host : 'localhost',
user : 'root',
password : ''
});
pool.getConnection(function(err, connection) {
connection.query( 'SELECT something FROM sometable', function(err, rows) {
console.log(pool._freeConnections.indexOf(connection)); // -1
connection.release();
console.log(pool._freeConnections.indexOf(connection)); // 0
});
});
以防万一您无法访问池,您也可以这样做:
connection._pool._freeConnections.indexOf(connection)
这将为您提供与已接受答案相同的答案。
我正在开发 NodeJS + MySQL web API。
我正在使用 mysql npm 模块。
我想知道连接是否释放,是否有任何函数或变量。 喜欢
if(!connection.isRelease() OR !connection.isClose() OR !connection.end()) {
connection.release();
}
有没有具体的函数可以知道连接是否释放?
我收到类似 "connection already release"
的错误您可以查看连接是否在池中,看是否被释放。如果未释放连接,则空闲连接中的索引将为 -1。这是一个例子。
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host : 'localhost',
user : 'root',
password : ''
});
pool.getConnection(function(err, connection) {
connection.query( 'SELECT something FROM sometable', function(err, rows) {
console.log(pool._freeConnections.indexOf(connection)); // -1
connection.release();
console.log(pool._freeConnections.indexOf(connection)); // 0
});
});
以防万一您无法访问池,您也可以这样做:
connection._pool._freeConnections.indexOf(connection)
这将为您提供与已接受答案相同的答案。