I'm new to rxjava. I need to combine two observables that emit objects of different type. Something like Observable<Milk>
and Observable<Cereals>
and get a Observable<CerealsWithMilk>
. I couldn't find any operator for something like this. What would be the rx way of doing something like this? Note that Milk
and Cereals
are async.
It's hard to say without knowing exactly what you need, but possibly zip() or combineLatest().
zip
will take both Observable<Milk>
and Observable<Cereals>
and let you combine them into CerealsWithMilk
via a provided function. This emits a new CerealsWithMilk
each time you get get both a Milk
and a Cereals
.
combineLatest
is similar to zip
except it will emit a new CerealsWithMilk
even if just a new Milk
or just a new Cereals
is emitted.