Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SELECT funktioniert nicht in node.js

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.