Jako .query() je asynchronní metoda, nebudete moci return hodnota jako zpětné volání se bude nazývat po return se hodnotí.
Budete muset pokračovat ve callback vzor:
function query(sql, callback) {
client.connect();
client.query(sql, function (err, rows, fields) {
if (err) {
callback(err);
else
callback(null, rows, fields);
});
client.end();
}
Oprava:Zdá se, že client.end() umožní dokončit aktuální dotazy dříve, než se připojení skutečně uzavře.
Volání .end() uvnitř zpětného volání je samozřejmostí pro mnoho API, protože přeruší všechny čekající akce.