私は Node.js から Javascript MYSQL ライブラリを使用しており、複数のクエリをループで実行しています。しかし、ループを実行するthe loop
と、開始したクエリがまだ処理されている間に、常に突然終了 (完了) します。では、ループを維持して各クエリが完了するまで待機し、通常どおり続行するにはどうすればよいですか?
私のコードは次のとおりです。
function startHere() {
console.log("-- START --");
for (i=1; i < 6; i++) {
dbInsert(i);
}
console.log("-- END --");
}
function dbInsert(id) {
connection.query (
'INSERT INTO table SET data=?',
[id],
function selectCb(err, results, fields) {
if (err) {
console.log(err.message);
}
if (results.length > 0) {
console.log(id+" RECORDS ADDED!");
}
}
);
}
startHere();
実行すると、常に次のように返されます。
-- START --
-- END --
1 RECORDS ADDED!
2 RECORDS ADDED!
3 RECORDS ADDED!
4 RECORDS ADDED!
5 RECORDS ADDED!
つまり、ループは開始したクエリの終了を待ちません。
クエリのエンドポイントを検出して機能させるにはどうすればよいですか?