我一直在尋找一些代碼,發現這個:是否在值解決後自動清除訂閱?
this.busy = this.service.getInfo().subscribe((info: InfoData[]) => {
this.setInfo(info);
});
現在busy
是用作輸入值[ngBusy]
指令boolean
類型的組件的屬性。顯然,subscribe()
返回Subscription
,它不爲空,因此投射到true
。這觸發指令顯示模式加載彈出窗口,一旦解決信息就會消失。這意味着,那個this.busy
在那一刻是錯誤的,我不得不意味着Subscription
對象不再存在。
Inside getInfo()
方法只有一行,即return Observable.of(info)
,其中info是存根變量。
所以我的問題是: 是否Subscription
數據解決後自動刪除?如果是的話,是隻爲Observable.of()
還是有這種行爲的任何其他例子?
檢查這太問題它discusseds詳細介紹一下清理訂閱,http://stackoverflow.com/questions/38008334/angular2-rxjs-when-should-i-unsubscribe-from -subscription –
在這種情況下是的 –
某些訂閱會自動清除,例如那些與Http服務一起使用的訂閱和與Routing一起使用的訂閱。所有其他人需要取消訂閱。 – DeborahK