[英]ObjectUnsubscribedError after using takeUntil
因此,當我將不同的項目加載到屏幕時,會發生一堆 http 請求。 這是基本布局
ngUnsubscribe: any = new Subject();
constructor(private service: Service){}
ngOnInit() {}
BuildView(data) {this.submitLayerservice.submitLayer(onLoadSubmitLayerFormat)
.pipe(takeUntil(this.ngUnsubscribe))
.subscribe( //logic happens here
)
}
ngOnDestroy() {
this.ngUnsubscribe.next();
this.ngUnsubscribe.unsubscribe();
}
一切正常,當組件被銷毀時,我看到所有請求都被取消。 但是當我再次加載項目時,我收到此錯誤並且沒有任何顯示。 我猜這是因為 ngUnsubscribe 已經發生了? 不太確定。 大部分問題都與 Map 相關。
編輯:如果我不添加 this.ngUnsubscribe.unsubscribe(); 問題似乎已解決。 我不應該取消訂閱這個主題嗎?
對於任何尋找這個的人來說,很可能是因為在您輸入組件時不會再次創建訂閱,所以添加 ngWillEnter 或 ngDidEnter
ngUnsubscribe = 新主題();
確保您在進入視圖時已創建訂閱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.