Vrijwel alles in Node.js is asynchroon, en SQL-queryfuncties zijn dat zeker. Je belt conn.query(query, callback)
, wat betekent dat de query wordt aangeroepen, en als er op een bepaald moment in de toekomst een resultaat is, wordt uw callback-functie aangeroepen met het resultaat waarmee u kunt werken. Dus:
conn.query(query, function runThisEventually(err, rows, fields) {
if (err) {
console.error("One or more errors occurred!");
console.error(err);
return;
}
processResults(rows, fields);
});
U krijgt het resultaat niet meteen na het aanroepen van conn.query(...)
, zodat uw code in de tussentijd "andere dingen" kan doen, en op een gegeven moment wordt uw terugbelactie geactiveerd en kunt u de resultaatverwerking daar ophalen.