亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

哪些 RxJS 運算符需要退訂?

哪些 RxJS 運算符需要退訂?

蝴蝶不菲 2023-02-24 16:43:48
我知道有些運算符會自動完成,例如 forkJoin,但據我所知,還有其他運算符永遠不會完成,必須取消訂閱以防止任何訂閱泄漏,例如 combineLatest。有什么好的方法可以判斷哪些必須取消訂閱,哪些是安全的?或者至少是他們的完整列表?我正在努力從文檔中獲取此信息。我對 RxJS 還是很陌生,所以如果我似乎誤解了什么,請告訴我。請注意:我知道如何使用,| async但我正在處理一個現有項目,目前無法使用它。我也知道并正在使用takeUntil該方法來代替該unsubscribe方法,因此這與該方法無關。我只想知道在使用其中一個 RxJS 運算符之后何時需要使用takeUntil/ 。unsubscribe
查看完整描述

1 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

forkJoin實際上不會自動完成。這取決于它正在修改以完成的可觀察對象。如果這些 observables 沒有完成,則forkJoin(). 實際上,combineLatest具有相似的品質。

通常,所有 RxJS 提供的運算符都會創建在原始可觀察對象關閉時關閉的可觀察對象 - 或者至少其中之一。

實際上,這意味著開發人員使用 RxJS 來理解他們傳遞給操作員的可觀察對象的行為。流有可能永遠被卡住嗎?在那種情況下,我們將要修改它來處理這個問題——也許它會在 5 秒無活動后關閉。

重點是操作員要么尊重輸入可觀察對象的完成,要么修改它(可能通過提前完成),因為這是他們設計的目的。后一類最常見的例子包括“takes”:taketakeWhiletakeUntil。

花足夠的時間在圖書館 - 閱讀每個操作員的文檔,在代碼中玩弄它們,或者在這里詢問是否有特定的東西沒有意義,你會變得非常熟悉哪些是哪些。


查看完整回答
反對 回復 2023-02-24
  • 1 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號