The conditional operators
It is possible to make it so that one Observable
instance won't begin its emissions until another emits, or so that it would emit only if another doesn't emit anything. These Observable
instances are able to emit items under given conditions, and these conditions are applied to them using conditional operators. In this section, we'll take a look at some of the conditional operators provided by RxJava.
The amb operator
The amb()
operator has overloads that take from two up to nine source Observable
instances or an Iterable
instance of the Observable
instances. It emits the items of the source Observable
instance that starts emitting first. It doesn't matter what this is, whether OnError
, OnCompleted
notification, or data. Its diagram looks like this:
This operator has an instance form too. It is called ambWith()
and can be called on one Observable
instance in argument with another Observable
instance.
This conditional operator is good for reading...