Sebagai .query()
adalah metode asinkron, Anda tidak akan dapat return
nilai sebagai panggilan balik akan dipanggil setelah return
dievaluasi.
Anda harus melanjutkan callback
pola:
function query(sql, callback) {
client.connect();
client.query(sql, function (err, rows, fields) {
if (err) {
callback(err);
else
callback(null, rows, fields);
});
client.end();
}
Koreksi:Sepertinya client.end()
akan memungkinkan kueri saat ini untuk diselesaikan sebelum koneksi benar-benar ditutup.
Padahal, memanggil .end()
di dalam callback adalah hal yang biasa bagi banyak API karena mereka akan memotong semua tindakan yang tertunda.