私はnodejsにかなり慣れていません。
私のコードでデータベースに何度もクエリを実行し、1つの変数ですべてのクエリからデータを収集し、それをどこかで使用するようにしたいのです。
しかし、nodejsはクエリの結果を待つのではなく、ブロックせずに実行すると思います。これが私が起こっていることだと思います。私が間違っていたらごめんなさい。
for (var i = step_min; i < (step_max); i += step) {
query = 'select count(' + colName + ') as num_count from ' +
rows[0].tablename + ' where ' + 'dictionaryid=' +
rows[0].dictionaryid + ' and ' + colName + ' between ' + i +
' and ' + (i + step);
connection.query(query, function(err, rows1, fields) {
if (err) {
console.log(err);
throw err;
}
try {
console.log("$$$$$$$$$$$$$$$ pushed : "+ rows1[0].num_count);
contents.push(rows1[0].num_count);
console.log('contents : '+ contents+'\n');
} catch (e) {
if (e instanceof SyntaxError) {
console.log("Syntax Error for input function");
}
}
});
console.log("##################### " + query + "\n");
console.log('contents : '+ contents+'\n');
}
クエリの結果が得られるまでnodejsをブロックする方法、またはコードを再構築する方法についてアドバイスはありますか?
前もって感謝します。