1
異なるパラメータで複数の同じAPIリクエストをチェーンする方法を探しています。これまでのところ、私の方法は、次のようになります。Retrofit + RxJavaチェーンの複数のリクエストをチェーンして結果を集計する
@Override
public Observable<List<Entity>> getResult(Integer from, Integer to, Integer limit) {
MyService myService = restClient.getMyService();
if (null != from && null != to) {
Observable<List<Response>> responseObservable = myService.get(from, limit);
for (int i = from + 1; i <= to; i++) {
responseObservable = Observable.concat(responseObservable, myService.get(i, limit));
}
return responseObservable.map(mapResponseToEntity);
} else {
int fromParameter = null == from ? DEFAULT_FROM : from;
return myService.get(fromParameter, limit).map(mapResponseToEntity);
}
}
私はconcat
方法が観測組み合わせた一つのストリームを返すにOservablesデータを合成することを期待しかし、私は最後のものだけを取得していた結果を呼び出します。しかし、logcatでは、APIへの呼び出しが正しく行われたことがわかります。