このプログラムは、最初に0
を外しました。189
です。私はJavaScriptを非同期に実行していることが分かります。両方のログを出力する正しい方法は何でしょうか189
?コールバック地獄に入ることなく?console.logsの出力値が同じになるようにするにはどうすればよいですか?
roaming = [];
connection.query("SELECT land FROM roaming", function (err, res) {
if (err) {
console.log("Error: " + err);
} else {
res.forEach(function(entry){
roaming.push(entry.land);
});
console.log(roaming.length);
}
});
console.log(roaming.length);
を待っています。 'connection.query()'は非同期関数です。 2つ目の 'console.log()'はすぐに実行され、完了するのを待つことはできません。そのため、非同期関数にはコールバックがあります。 – Barmar