如何在ref path不再可用时删除firebase数据库侦听器

时间:2017-11-23 10:35:27

标签: javascript firebase firebase-realtime-database

我在反应原生应用中使用了firebase,我有一个类似的侦听器:

firebase.database().ref('users/'+uid+'/items').on('value', function(snapshot){
    ....
})

我尝试做的是在用户注销时删除该侦听器。我知道我可以使用off()这样做:

firebase.database().ref('users/'+uid+'/items').off('value', function(snapshot){
    ....
})

但是一旦用户注销,我就无法访问用户ID。那么如何删除监听器?

1 个答案:

答案 0 :(得分:7)

您需要保留已连接侦听器的路径,以便可以在其上调用off()。一种方法是:

mUserRef = firebase.database().ref('users/'+uid+'/items');
mUserRef.on('value', function(snapshot){
    ....
})

然后是:

mUserRef.off('value');