エラーはタイトルにあります。Firebase:Query.on failed:1つの引数で呼び出されました。少なくとも2を期待します
私の建物はReactとFirebaseに基づいています。 私は約束を使用しようとしています。私は同じ問題に対処this question on SOを見つけ
gamesRef.on('value').then(function(snapshot){
// find all empty games
var gamesToRemove = [];
snapshot.forEach(game => {
if(game.val().player1 == ""
&& game.val().player2 == ""
&& game.val().player3 == ""
&& game.val().player4 == ""){
gamesToRemove.push(game.key());
}
});
return gamesToRemove;
}).then(function(gamesToRemove){
// remove all empty games
for(var index in gamesToRemove){
gamesRef.child(gamesToRemove[index]).remove();
}
}, function(error){
console.log(error);
});
: はここに私のコードです。解決策は、Firebaseのバージョンが約束を使用するために少なくとも2.4である必要があるということでした。以前のバージョンを使用しましたが、2.4.2にアップグレードした後も同じエラーが表示されます。私は何をすべきか?
編集:修正後のコード。エラー「gamesRef.on(...)」を取得し、関数ではありません。
gamesRef.on('value', function(snapshot){
// find all empty games
var gamesToRemove = [];
snapshot.forEach(game => {
if(game.val().player1 == ""
&& game.val().player2 == ""
&& game.val().player3 == ""
&& game.val().player4 == ""){
gamesToRemove.push(game.key());
console.log("denna borde raderas: " + game.key());
}
});
return gamesToRemove;
}).then(function(gamesToRemove){
// remove all empty games
for(var index in gamesToRemove){
gamesRef.child(gamesToRemove[index]).remove();
}
});
[OK]を、ありがとう!あなたが言ったように私はした、そしてエラーはdisapeared。しかし、私は新しいものを得ました: "gamesRef.on(...)、それは関数ではありません"。私はそれをどうやって修正するか知っていますか?私は質問に更新を加えました。 – hellogoodnight
あなたはまっすぐに行かないでください。 'gamesRef.on( '値'、関数(スナップショット){ //すべての空のゲーム見つける VAR gamesToRemove = []; snapshot.forEach(ゲーム=> { (game.val()もしplayer1 = = "")&& game.val()。player2 == "" && game.val()。player3 == "" && game.val()。player4 == "" { gamesToRemove.push(game .KEY());} }); gamesToRemoveで(VAR指数){ gamesRef.child(gamesToRemove [インデックス])のための(削除)。 }; }); ' –