Prakticky vše v Node.js je asynchronní a funkce dotazů SQL rozhodně ano. Voláte conn.query(query, callback)
, což znamená, že je zavolán dotaz, a jakmile se v budoucnu objeví výsledek, zavolá se vaše funkce zpětného volání s výsledkem, se kterým můžete pracovat. Takže:
conn.query(query, function runThisEventually(err, rows, fields) {
if (err) {
console.error("One or more errors occurred!");
console.error(err);
return;
}
processResults(rows, fields);
});
Výsledek nezískáte ihned po zavolání conn.query(...)
, takže váš kód může mezitím dělat „jiné věci“ a v určitém okamžiku se spustí vaše zpětné volání a vy si tam můžete vyzvednout zpracování výsledků.