Stort set alt i Node.js er asynkront, og SQL-forespørgselsfunktioner er det bestemt. Du ringer til conn.query(query, callback)
, hvilket betyder, at forespørgslen kaldes, og så snart der er et resultat på et tidspunkt i fremtiden, bliver din tilbagekaldsfunktion kaldt med resultatet, som du kan arbejde med. Så:
conn.query(query, function runThisEventually(err, rows, fields) {
if (err) {
console.error("One or more errors occurred!");
console.error(err);
return;
}
processResults(rows, fields);
});
Du får ikke resultatet umiddelbart efter at have kaldt conn.query(...)
, så din kode kommer til at gøre "andre ting" i mellemtiden, og på et tidspunkt vil dit tilbagekald blive udløst, og du kan hente resultatbehandling der.