【发布时间】:2016-09-05 04:26:38
【问题描述】:
错误在标题中。
我正在构建的应用基于 React 和 Firebase。 我正在尝试使用承诺。 这是我的代码:
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);
});
我发现this question on SO 解决了同样的问题。解决方案是 Firebase 版本至少需要 2.4 才能使用 Promise。我使用的是旧版本,但升级到 2.4.2 后,我仍然遇到同样的错误。我该怎么办?
编辑:修复后的代码。得到错误“gamesRef.on(...).then 不是函数”。
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();
}
});
【问题讨论】:
标签: javascript firebase promise firebase-realtime-database