Come .query()
è un metodo asincrono, non potrai return
il valore come callback verrà chiamato dopo il return
viene valutato.
Dovrai continuare la callback
modello:
function query(sql, callback) {
client.connect();
client.query(sql, function (err, rows, fields) {
if (err) {
callback(err);
else
callback(null, rows, fields);
});
client.end();
}
Correzione:sembra client.end()
consentirà di terminare le query correnti prima che la connessione si chiuda effettivamente.
Tuttavia, chiamando .end()
all'interno del callback è comune per molte API in quanto interromperanno tutte le azioni in sospeso.