java - reduce Observable<Observable<T>> to Observable<T> -


i trying list of eventshifts database on background using rxjava scheduler :

observable.fromcallable(new callable<observable<eventshift>>() {             @override             public observable<eventshift> call() throws exception {                 return observable.from(shiftdb.getall());             }         }) 

edit : clearify want act upon each of eventshift objects using flatmap later, need observable<eventshift>...

as pretty new rxjava, first question - there better way avoid observable<observable<>>?

and if there better approach, how can reduce observable<observable<>> observable<>?

you want canonical method, defer:

observable<list<eventshift>> obs = observable.defer(() -> shiftdb.getall()); 

defer call lambda/method/func0 each time observable gets subscribed to.