Prácticamente todo en Node.js es asíncrono, y las funciones de consulta SQL definitivamente lo son. Estás llamando a conn.query(query, callback)
, lo que significa que se llama a la consulta, y luego, una vez que hay un resultado en algún momento en el futuro, se llama a su función de devolución de llamada con el resultado para que usted pueda trabajar. Entonces:
conn.query(query, function runThisEventually(err, rows, fields) {
if (err) {
console.error("One or more errors occurred!");
console.error(err);
return;
}
processResults(rows, fields);
});
No obtendrá el resultado inmediatamente después de llamar a conn.query(...)
, por lo que su código puede hacer "otras cosas" mientras tanto, y en algún momento, su devolución de llamada se activará y podrá retomar el procesamiento de resultados allí.