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

La fonction de requête Node JS MySQL ne renvoie pas de résultat

Pratiquement tout dans Node.js est asynchrone, et les fonctions de requête SQL le sont définitivement. Vous appelez conn.query(query, callback) , ce qui signifie que la requête est appelée, puis une fois qu'il y a un résultat à un moment donné dans le futur, votre fonction de rappel est appelée avec le résultat avec lequel vous pouvez travailler. Donc :

conn.query(query, function runThisEventually(err, rows, fields) {
    if (err) {
      console.error("One or more errors occurred!");
      console.error(err);
      return;
    }
    processResults(rows, fields);
});

Vous n'obtiendrez pas le résultat immédiatement après avoir appelé conn.query(...) , de sorte que votre code puisse faire "d'autres choses" entre-temps, et à un moment donné, votre rappel sera déclenché et vous pourrez y reprendre le traitement des résultats.