Observable<List<Post>> local = createLocalObservable();
Observable<List<Post>> remote = createRemoteObservable();
Observable<List<Post>> combined = Observable.concat(local, remote)
.doOnNext(o -> {
//... some logging etc...
});createRemoteObservable()
.doOnNext(posts -> {
extraApiCallObservable(posts)
.subscribeOn(Schedulers.io())
.subscribe();
});createRemoteObservable().flatMap(posts -> {
return extraApiCallObservable(posts).subscribeOn(Schedulers.io()).toCompletable().andThen(Observable.just(posts));
});