如何在 Firebase .unAuth() 之后清理数据?
How do I cleanup data after Firebase .unAuth()?
我在网站中使用 Firebase(它很棒)。
通过几个 .on('child_added')
和 .on('value')
回调,我正在填充绑定到我的 UI.
的本地商店
当用户注销时,我想从我的本地存储中清除他们的数据。对于用户退出 Firebase,推荐的反应方式是什么?理想情况下,我想将回调传递给 .unauth()
以进行清理。但是没有这样的回调。
我目前的解决方案有点乱...
- 我用
onAuth()
. 听
- 当
onAuth
以非空值触发时,我设置了一个变量 isLoggedIn = true
- 当
onAuth
被 null
和 isLoggedId === true
触发时,我会执行清理。
我不想在 每次 使用 null
调用 onAuth
时进行清理,因为它会在页面加载时执行此操作。
如果用户触发注销,则意味着您的代码正在调用 unauth()
。那也是清理的时刻:
ref.unauth();
cleanupData();
但是如果用户因为其他原因(即他们的会话到期)而退出,那么在 onAuth()
的 null
部分进行清理是有意义的。如果您担心初始 null
,您可以将其包裹在支票中:
var previousAuthData = null;
ref.onAuth(function(authData) {
if (authData) {
...
}
else if (previousAuthData != null) {
cleanupData();
}
previousAuthData = authData;
}
我在网站中使用 Firebase(它很棒)。
通过几个 .on('child_added')
和 .on('value')
回调,我正在填充绑定到我的 UI.
当用户注销时,我想从我的本地存储中清除他们的数据。对于用户退出 Firebase,推荐的反应方式是什么?理想情况下,我想将回调传递给 .unauth()
以进行清理。但是没有这样的回调。
我目前的解决方案有点乱...
- 我用
onAuth()
. 听
- 当
onAuth
以非空值触发时,我设置了一个变量isLoggedIn = true
- 当
onAuth
被null
和isLoggedId === true
触发时,我会执行清理。
我不想在 每次 使用 null
调用 onAuth
时进行清理,因为它会在页面加载时执行此操作。
如果用户触发注销,则意味着您的代码正在调用 unauth()
。那也是清理的时刻:
ref.unauth();
cleanupData();
但是如果用户因为其他原因(即他们的会话到期)而退出,那么在 onAuth()
的 null
部分进行清理是有意义的。如果您担心初始 null
,您可以将其包裹在支票中:
var previousAuthData = null;
ref.onAuth(function(authData) {
if (authData) {
...
}
else if (previousAuthData != null) {
cleanupData();
}
previousAuthData = authData;
}