:値解決後にサブスクリプションが自動的にクリーンアップされますか?私はいくつかのコードを見て、これを見つけた
this.busy = this.service.getInfo().subscribe((info: InfoData[]) => {
this.setInfo(info);
});
今busy
は[ngBusy]
ディレクティブの入力値として使用されているタイプboolean
のコンポーネントのプロパティです。明らかに、subscribe()
はSubscription
を返します。これはヌルではないため、true
にキャストされます。これにより、モーダルロードポップアップが表示され、情報が解決されると消えるようになります。つまり、その瞬間にthis.busy
が間違っていることを意味します。これは、もうSubscription
オブジェクトが存在しないことを意味しています。
getInfo()
メソッド内には、return Observable.of(info)
という1行しかありません。infoはスタブ変数です。
質問: データが解決された直後にSubscription
が自動的に削除されますか?はいの場合は、それはObservable.of()
の場合のみですか?そうした動作の他の例がありますか?
チェックこれはSO、それはサブスクリプションをクリーンアップについて詳細にdiscusseds質問http://stackoverflow.com/questions/38008334/angular2-rxjs-when-should-i-unsubscribe-fromサブスクリプション –
この場合は –
一部のサブスクリプションは、Httpサービスで使用されるサブスクリプションやルーティングで使用されるサブスクリプションなど、自動的にクリーンアップされます。他のすべては、購読を解除する必要があります。 – DeborahK