Node.jsの事実上すべてが非同期であり、SQLクエリ関数は間違いなく非同期です。 conn.query(query, callback)
を呼び出しています 、つまり、クエリが呼び出され、将来のある時点で結果が得られると、コールバック関数が呼び出され、その結果を操作できるようになります。だから:
conn.query(query, function runThisEventually(err, rows, fields) {
if (err) {
console.error("One or more errors occurred!");
console.error(err);
return;
}
processResults(rows, fields);
});
conn.query(...)
を呼び出した直後に結果が得られることはありません 、そのため、コードはその間に「他のこと」を実行し、ある時点でコールバックがトリガーされ、そこで結果処理を取得できます。