Мы хотим, чтобы наша функция возвращала обещание, а также закрывала соединение с базой данных.Наконец, мы помещаем обещание в команду try and close connection, в которой она выдает следующие ошибки:
conPool.close() //It says Error - conPool.close() is not a function
conPool.release() // Error - conPool.release() is not a function
conPool.releaseConnection(); // Error - Cannot read property '_pool'
of undefined
Пожалуйста, помогите мне закрыть соединение mySQL.Я хочу вернуть свои данные.Но после возврата ничего не работает, поэтому соединение не закрывается.Я боюсь, что могу потерять максимальный лимит.Я даже установил максимальное количество соединений в MySQL, но все же.И есть возможное решение, что я могу объявить conPool вне функции и заставить все функции использовать этот единственный conPool, но это также не работает.
code -
function viewChoice() {
var sqlQuery;
sqlQuery = "select * from TRANSACTION_PAYLOAD where INTERFACE_NAME
= 'Vehicle RC' AND (STATUS ='INPUT_ERROR' OR STATUS ='ERROR')";
}
var deferred = Q.defer();
var host = config.host;
var user = config.user;
var password = config.password;
var database = config.database;
var conPool = mysql.createPool({
host: host,
user: user,
password: password,
database: database
});
try{
conPool.getConnection(function (err) {
console.log("Inside getConnection ")
if (err)
deferred.reject(err.name + ': ' + err.message);
conPool.query(sqlQuery,
function (err, result, fields) {
if (err) deferred.reject(err.name + ': ' + err.message);
console.log(result);
deferred.resolve(result);
});
});
return deferred.promise;
}
finally{
console.log("inside Finally")
conPool.releaseConnection();
}
}