Dalam fungsi executeQuery Anda, Anda telah menggunakan panggilan balik untuk menunggu hasilnya. Dengan cara yang sama dengan mengimplementasikannya dalam fungsi getResult, Anda dapat membuatnya menunggu hasil setelah eksekusi kueri. Sesuatu seperti ini.
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 100,
host : 'host',
user : 'user',
password : 'password',
database : 'database',
debug : false
});
function executeQuery(query, callback) {
pool.getConnection(function (err, connection) {
if (err) {
return callback(err, null);
}
else if (connection) {
connection.query(query, function (err, rows, fields) {
connection.release();
if (err) {
return callback(err, null);
}
return callback(null, rows);
})
}
else {
return callback(true, "No Connection");
}
});
}
function getResult(query,callback) {
executeQuery(query, function (err, rows) {
if (!err) {
callback(null,rows);
}
else {
callback(true,err);
}
});
}
function getServers() {
getResult("select * from table",function(err,rows){
if(!err){
return rows;
}else{
console.log(err);
}
});
}
exports.getList = getList;