read
Sometimes we need to get some data before do something else, each one can be from different sources, like 2 different web services.
Using Retrofit 1.9
and retrolambda
NewOrder
is the object that we need to create from 2 data sources, both getted from anObservable<Address>
.
The Retrofit service that consumes the object and creates the final Observable:
-
We will have 2 Observables to wait for result:
pickObservable
anddropObservable
. (can be more! just add each Observable to combineLatest`) -
Address.get(...)
is a function that will return an observable with the address for that LatLng. -
Use
Observable.combineLatest
to combine bothpickObservable
anddropObservable
and wait for it´s results and will end in a newObservable<NewOrder>
. -
Use flatMap to apply
Thanks to lukaciko. Check this question on stackoverflow.