だから私は、ユーザーがいずれのイベントでも管理者であるかどうかを確認しようとしています。なんらかの理由で、配列は最後のfindのインデックスで埋められます。なぜこれが起こっているのか?配列に間違ったインデックスが設定されたままになる
for(var x = 0;x<=10;x++){
console.log(x);
var current = x;
firebase.database().ref('/Event/' + x + "/admins").once('value').then(function(snapshot) {
console.log(snapshot.val());
if(snapshot.val()==uid){
console.log("Match found at "+(current)+"!");
matchingEvents.push(current);
}
});
}
配列はこのように見える終わる: [10,10,10,10,10]
何 'X'であり、あなたがそれをログインしたとき、それが何を言うんかもしれませんか? – Michelangelo
そして、snapshot.val()はあなたに何を与えるのですか? –
インデックスを渡すことができるIIFEで 'let'またはラップを使うか、そうでなければXは常に10になります。なぜならあなたのDBは非同期であるからです。 – ndugger