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.