Firebase删除了奇怪的行为

时间:2013-04-23 13:37:32

标签: javascript firebase

我的应用程序中有以下代码

this.obsRef.remove(function(error) {
      self.firebaseRef.child('users/'+self.user.name+'/invite')
               .remove(function(error) {
                    self.enterLobby();
                });
            });

代码应该做的是从firebase中删除obsRef然后删除 'users / $ user / invite'上的位置。一旦所有被删除entergirl 被称为。

现在问题在于enterLobby()我得到了以下代码:

this.userListRef.child(this.user.name).child('invite')
             .on('child_added', function(snapshot) {
           console.log("INVITE");
        });

每次都会执行enterLobby()中的代码。 我错过了什么或.remove()的回调不能正常工作? 谢谢

1 个答案:

答案 0 :(得分:1)

.on('child_added')处理程序将确保每次添加子项时都会调用提供的回调。这就是您看到代码多次执行的原因。您可能希望使用.once('value')代替:

this.userListRef.child(this.user.name).child('invite').
  once('value', function(snapshot) { console.log("INVITE"); });