Member-only story
RxJS: multicast’s Secret
multicast
has a secret. And so does publish
— which wraps multicast
. And it’s sometimes really useful.
The secret
The documentation for multicast
and publish
mentions a ConnectableObservable
. A connectable observable is type of observable that waits until its connect
method is called before it begins emitting notifications to subscribers. However, the multicast
and publish
operators don’t always return a connectable observable.
Let’s start by looking at the source code for publish
:
It’s clear that publish
is just a thin wrapper around multicast
. It creates a subject, which is passed to multicast
along with the optional selector
function. The interesting bit is inside the multicast
implementation, which contains the following code: