Mysql
 sql >> Base de données >  >> RDS >> Mysql

SELECT ne fonctionne pas dans node.js

Comme .query() est une méthode asynchrone, vous ne pourrez pas return la valeur car le rappel sera appelé après le return est évalué.

Vous devrez continuer le callback motif :

function query(sql, callback) {
    client.connect();
    client.query(sql, function (err, rows, fields) {
        if (err) {
            callback(err);
        else
            callback(null, rows, fields);
    });

    client.end();
}

Correction :semble client.end() permettra aux requêtes en cours de se terminer avant la fermeture effective de la connexion.

Cependant, appeler .end() à l'intérieur du rappel est monnaie courante pour de nombreuses API car elles interrompront toutes les actions en attente.