Ich habe Presenter, die getShops() -Methode aufruft.Wie mehrere Anfragen mit reaktiven android und nachrüsten
Observable<List<Shop>> observable = interactor.getData();
Subscription subscription = observable
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Shop>>() {
@Override
public void onCompleted() {
view.hideProgress();
}
@Override
public void onError(Throwable e) {
super.onError(e);
view.hideProgress();
}
@Override
public void onNext(List<Shop> shops) {
handleShops(shops);
view.onSuccess();
}
});
composite.add(subscription);
In Datenschicht habe ich Interactor die Anforderung an den Server mit Retrofit macht und das Rück List<Shop>
.
@Override
public Observable<List<Shop>> getData() {
return api.getShops(pageNum).map(new Func1<ShopWrapper, List<Shop>>() {
@Override
public List<Shop> call(ShopWrapper wrapper) {
return wrapper.getShops();
}
});
}
Das Problem ist, dass ich mehrere identische Anfragen mit unterschiedlichen Seitenparameter, weil Server liefert N Geschäfte pro Seite, und ich brauche sammeln alle Geschäfte und ihn dann wieder Observable<List<Shop>>
zu Vortragenden zu machen brauchen.
Ich bin neu in Reaktive Programmierung, vielleicht gibt es einen Operator, der dies ermöglicht.
Jede Hilfe wäre willkommen.
Genau muss ich Art von rekursiven Anruf und Ergebnis in eine beobachtbare sammeln Liste, danke für den Link Ich werde es überprüfen. – Yarik