When should I use `publishReplay` vs `shareReplay`?

前端 未结 3 1351
青春惊慌失措
青春惊慌失措 2020-12-25 12:17

I already know that

  • publish shares a single subscription and also returns a ConnectableObservable ( so we have to Connect(

3条回答
  •  猫巷女王i
    2020-12-25 12:49

    shareReplay() is basically publishReplay().refCount()

    Definitely not.

    Both shareReplay and publishReplay (+ calling connect on it) will make the observable behind it hot.

    But the very important difference between them is:

    • shareReplay: won't stop emitting until it's completed, no matter if there are no subscriptions anymore or not.
    • publishReplay: will stop after the last subscriber unsubscribes if used together with refCount

    Imho this is a crucial information.

提交回复
热议问题