チームインフォメーションのインスタンスを取得し、それぞれのチームがそれぞれゲーム情報を取得し、一致した場合にゲーム情報を更新し、マッチが見つかった後、最終的にゲーム情報に行われたマッチ(または更新)の総数を出力します。ノードjsカウンタの値はインクリメントされません
私のコードは次のとおりです:
let counter = 0;
teams.once("value", teamSnap => {
teamSnap.forEach(tSnap => {
games.once("value", gameSnap => {
gameSnap.forEach(gSnap => {
if(teamInfo.Name == gameInfo.AwayTeam) {
let currGame = games.child(`${gSnap.key}`);
currGame.update({
"AwayTeam": teamInfo.Name,
"AwayId": tSnap.key}),
function(error){
if (error) {
console.log("Data could not be saved." + error);
} else {
counter++;
}
}
}
}
}
}
}).then(() => {
console.log("Final Count: " + counter)
});
私はconsole.log("Final Count: " + counter)
を呼び出すと、それはゼロ(0)、私はそれがインクリメントしない理由はわからないが表示さ!
をあなたの ' console.log(counter); 'ステートメント? –
これは最後にあり、カウンタの初期値は先行してゼロに設定されているので、ゼロが表示されます。 – Learn2Code
あなたのコードは非同期です。基本的には、アップデートコールナックがアップデートされる前にconsole.logステートメントが起動されています – Chris