2016-05-07 1 views
0

私はFirebaseをウェブサイトで使っています(それは最高です)。Firebase .unAuth()の後にデータをクリーンアップするにはどうすればよいですか?

複数のコールバック.on('child_added').on('value')コールバック私は自分のUIにバインドされているローカルストアを作成しています。

ユーザーがログアウトすると、自分のローカルストアからデータを消去したいと考えています。 Firebaseでサインアウトしているユーザに対処するための推奨される方法は何ですか?理想的には、クリーンアップを行うには.unauth()にコールバックを渡したいと思います。しかし、そのようなコールバックはありません。

私の現在のソリューションは、私がonAuth()と聞く...

  • 少し厄介です。 onAuthonAuthにはnullisLoggedId === trueでトリガされた場合、私は、私はクリーンアップを行う可変isLoggedIn = true
  • を設定し、非ヌル値でトリガ

私はそれがページのロードにこれを行いますので、すべての時間onAuthnullと呼ばれクリーンアップを行うにはしたくありません。

答えて

1

ユーザがログアウトをトリガーすると、コードがunauth()を呼び出していることを意味します。それはまた、クリーンアップする瞬間のようになります。

ref.unauth(); 
cleanupData(); 

しかし、ユーザーが(つまりそのセッションが期限切れ)別の理由のために署名される場合は、その後、onAuth()null一部にクリーンアップすることは理にかなっています。最初のnullが心配な場合は、小切手でこれを囲むことができます。

var previousAuthData = null; 
ref.onAuth(function(authData) { 
    if (authData) { 
    ... 
    } 
    else if (previousAuthData != null) { 
    cleanupData(); 
    } 
    previousAuthData = authData; 
} 
関連する問題