getShops()メソッドを呼び出すプレゼンターがあります。データ層で反応するアンドロイドとレトロフィットで複数のリクエストを作成する方法
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);
私はレトロフィットして、サーバーに要求を行い、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();
}
});
}
問題は、サーバーがページごとにN店を返し、私はすべてのお店を収集し、その後、プレゼンターにObservable<List<Shop>>
を返す必要があるので、私は、別のページ・パラメータを持つ複数の同一の要求を作成する必要があるということです。
私はリアクティブプログラミングを初めて、多分それを可能にするいくつかの演算子があります。
ご協力いただければ幸いです。
まさに私が再帰呼び出しの種類を作成し、観察可能なものに結果を収集する必要があります。
をあなたはtakeUntil後にこれを追加することができます呼び出すonNext一つだけをしたい場合リスト、リンクをありがとう、私はそれをチェックします。 – Yarik