我在网站上使用Firebase(而且非常棒)。
通过几个.on('child_added')
和.on('value')
回调,我正在填充绑定到我的UI的本地商店。
当用户退出时,我想从我的本地商店清理他们的数据。对使用Firebase注销的用户做出反应的推荐方法是什么?理想情况下,我想将回调传递给.unauth()
进行清理。但是没有这样的回调。
我目前的解决方案有点乱......
onAuth()
。onAuth
时,我设置了变量isLoggedIn = true
onAuth
和null
触发isLoggedId === true
时,我会执行清理工作。我不希望使用onAuth
调用每个时间null
,因为它会在页面加载时执行此操作。
答案 0 :(得分:1)
如果用户触发注销,则表示您的代码正在调用unauth()
。这也是清理的时刻:
ref.unauth();
cleanupData();
但是如果用户因其他原因(即他们的会话到期)而退出,那么在onAuth()
的null
部分进行清理是有道理的。如果您担心初始null
,可以将其包装在一个支票中:
var previousAuthData = null;
ref.onAuth(function(authData) {
if (authData) {
...
}
else if (previousAuthData != null) {
cleanupData();
}
previousAuthData = authData;
}