An AsyncSubject
emits the last value (and only the last value) emitted by
the source Observable, and only after that source Observable completes.
BehaviorSubject
when subscribed, will emit the most recently emitted item by the source,
or the initialValue
(as the seed) in case no value has yet been emitted, then continuing
to emit events subsequent to the time of invocation.
A concurrent subject is meant for imperative style feeding of events.
A PublishSubject
emits to a subscriber only those items that are
emitted by the source subsequent to the time of the subscription
PublishToOneSubject
is a monix.reactive.subjects.PublishSubject
that can be subscribed at most once.
ReplaySubject
emits to any observer all of the items that were emitted
by the source, regardless of when the observer subscribes.
A Subject
is a sort of bridge or proxy that acts both as an
Observer and as an Observable and that must respect
the contract of both.