-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Subject
A Subject
is a sort of bridge or proxy that acts both as an Observer
and as an Observable
. Because it is an Observer, it can subscribe to one or more Observables, and because it is an Observable, it can pass through the items it observes by reemitting them, and it can also emit new items.
There are four subclasses of Subject
that are designed for particular use cases:
AsyncSubject
emits the last value (and only the last value) emitted by the source Observable(s), and only after that source Observable(s) completes.
- javadoc:
AsyncSubject
- Reactive Extensions:
AsyncSubject
When an Observer subscribes to a BehaviorSubject
, it begins by emitting the item most recently emitted by the source Observable (or a seed/default value if none has yet been emitted) and then continues to emit any other items emitted later by the source Observable(s).
- javadoc:
BehaviorSubject
- Reactive Extensions:
BehaviorSubject
PublishSubject
emits to a subscriber only those items that are emitted by the source Observable(s) subsequent to the time of the subscription.
- javadoc:
PublishSubject
ReplaySubject
emits to any subscriber all of the items that were emitted by the source Observable(s), regardless of when the subscriber subscribes.
- javadoc:
ReplaySubject
- Reactive Extensions:
ReplaySubject
Copyright (c) 2016-present, RxJava Contributors.
Twitter @RxJava | Gitter @RxJava