2017-02-05 32 views
1

Observableから退会する必要はありますか?いつ退会する必要があるのですか?Observerableからどのように退会する必要がありますか?

firefox.authを使用してユーザーのログインステータスを確認する方法については、anglefire2の記事を読んでいます。コードの最後に、彼はauthscribeから退会します。 https://javebratt.com/angularfire2-email-auth/(app.component.tsをご覧ください)。

私はObservableが完了した後またはエラーが発生した後にObservable自身が「退会」すると思ったので、私は本当に混乱しました。

Do we need to unsubscribe from observable that completes/errors-out?Do you need to unsubscribe from Angular 2 http calls to prevent memory leak?

答えて

2

あなたはcompleteまたはerror通知に退会に関する正しいです。

私は鍵が getAuth() method in auth.tsでのコメントだと思う

認証サービスに加入することにより、非同期実際authStateを守ってください:af.auth.subscribe()

だから、あなたが購読すべき実際のauthStateが変更された場合はaf.auth.subscribe(...)と通知されます。つまり、完了していないことを意味します(Observable.fromEvent(...)と同様)、手動で登録を解除する必要があります。

1

よく、Observableからのcompleteerrorイベントの購読を中止するだけでなく、実際には購読を解除するにはproper wayです。退会対完了の

利点は、この記事に記載されているように、次のとおり通常

  • 少ないコード
  • 良好ファクター/設計コードと完了ルールは1か所にあります。サブスクリプションが始まり、どこで終わる1つの場所でどこ
  • あなたはどんな「完了/クリーンアップ」のコードを書くための completeイベントを活用する
0

私もからの回答を得ました(何unsubscribeイベントはありません)著者:

ホルヘ・ベルガラ

あなたは(退会()を行う)する必要はありません。ユーザーにログインしたり、認証を変更したりする場合は、オブザーバーが起動し、ユーザーをどこかにリダイレクトする必要はありません。

関連する問題