I\'ve started playing with RxJS5, and now see that there is no longer a shareReplay
method.
It\'s quite possible that I often misused shareReplay<
That question is best answered by members who participate in Rxjs5, but here is my take:
shareReplay
is the multicast
operator with a ReplaySubject
, followed by a refCount
. So I would bet that publishReplay(x).refCount()
should be quite close to the shareReplay
behaviour. In any case, publishReplay
already gives you all the points you mentioned. The refCount
adds the unsubscription when there is no more observers (refCount
decreased to 0). var replayed = source.publishReplay(1).refCount();
, that should be equivalent to your shareReplay(1)
.About the rest of your question:
good reference that shows how to find what kind of observable I have...
. There are many places, including Rxjs4 documentation where you find explanations about hot and cold observables.Follows my own present understanding of the matter:
multicast
operator and its derivatives share
, publish
, shareReplay
etc. Those operators internally all involve subjects.Rx.Observable.fromEvent('input','click')
is hot. You can see in its implementation that there is a share
somewhere.connectable
kind which till it is connected, is neither hot nor cold.defer
always give rise to a cold observable.groupBy
. op1.op2.groupBy
is cold, but it will emit hot observables as values in the resulting stream. In those cases, only the documentation (if any) can help you find out. Otherwise, the source code, and the test specs. Or asking on SO.