首頁 > web前端 > js教程 > 熱還是冷:RxJS Observables 有什麼差別?

熱還是冷:RxJS Observables 有什麼差別?

Susan Sarandon
發布: 2024-10-28 21:59:02
原創
966 人瀏覽過

 Hot or Cold: What's the Difference in RxJS Observables?

熱和冷Observable:揭示差異

冷與熱:複習

RxJS 中的複習

RxJS 中的Observable 可以分類無論熱還是冷。冷 observable 僅在訂閱時才會發出值,而熱 observable 無論訂閱狀態如何都會發出值。

    已解決混亂
  • 全部RxJS 預設是冷觀測值?

  • 是的,除了主題。

    冷觀測值可以轉換成熱觀測值嗎?

  • 是的,使用諸如publish()、share()之類的運算符以及多播運算子(publishValue、shareValue等)。

    withLatestFrom 與 Cold Observables 的行為

讓 Cold$ 成為訂閱的冷可觀察值。 withLatestFrom(cold$, ...) 建立一個新的可觀察量,它將在訂閱後立即從 Cold$ 發出值,無論 Cold$ 最初何時訂閱。

FromEvent () 和共享點擊事件

RxJS.fromEvent() 預設建立冷 observable。但是,您提到的 CodePen 範例針對不同的訂閱顯示了不同的值,因為它使用 RxJS 版本 4,該版本對 fromEvent() 採取不同的行為。

冷熱 Observables 的詳細流程

    Cold Observable:
  1. 訂閱觸發上游訂閱鏈。
  2. 最後一個訂閱執行一個處理來源並向其發送資料的函數觀察者。

資料向下游流向接收器觀察者。

    Hot Observable:
  1. 多播運算子建立一個主題並傳回可連接的 observable。
  2. 操作符的訂閱訂閱主題。

當呼叫 connect 時,主題訂閱上游 observable,資料流向下游。

結論

了解透過可觀察量的資料流和運算符的實現對於駕馭熱和冷可觀察量的複雜性至關重要。關鍵考慮因素是相對於訂閱的資料發送時間以及由於多個訂閱而丟失或重複資料的可能性。

以上是熱還是冷:RxJS Observables 有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板