Als .query() eine asynchrone Methode ist, können Sie nicht return der Wert als Callback wird after genannt die return wird ausgewertet.
Sie müssen den callback fortsetzen Muster:
function query(sql, callback) {
client.connect();
client.query(sql, function (err, rows, fields) {
if (err) {
callback(err);
else
callback(null, rows, fields);
});
client.end();
}
Korrektur:Scheint client.end() zu sein ermöglicht, dass aktuelle Abfragen beendet werden, bevor die Verbindung tatsächlich geschlossen wird.
Aufruf von .end() innerhalb des Rückrufs ist für viele APIs üblich, da sie alle ausstehenden Aktionen abbrechen.