2016-02-06 35 views
9

根據RxJS 5 MIGRATION.md,看起來shareReplay()已被刪除。shareReplay in RxJS 5

  1. 爲什麼?
  2. .publishReplay(1).refCount()是否忠實地複製了該行爲?基本上我需要重播最新的單個數據集給任何新的用戶。

回答

8

簡短的回答: 引用Blesh先生:

問題RxJS 5試圖解決的是ConnectableObservables 應該是「重新連接」,並refCount應該返回一個可觀察 是冷到訂閱,然後熱點,直到所有訂閱 已結束,然後再次冷。

問題在於完成後的主體行爲,它阻止可連接的observable完成時重新連接。

長的答案: https://github.com/ReactiveX/RxJS/issues/453

目前API似乎是重新連接問題的兩種觀點之間的妥協的結果。如果有關人員能夠對手頭的問題進行總結,那將是非常好的。我的理解是,.publishReplay(1).refCount()應該保持舊的行爲,那就是當你的用戶數量達到0時,源被斷開,並且你不能重放它。但不要聽我的話,測試它,我討論後迷路了。