Я новичок в RxJava, и мне интересно, есть ли более идиоматический способ выполнения того, что делает метод, показанный ниже.
private Flowable<String> fetchTopMovies(Context context, @IntRange(from = 1) int firstPage, @IntRange(from = 1) int lastPage) {
checkArgument(firstPage > 0, "first page must be at least 1");
checkArgument(lastPage > 0, "first page must be at least 1");
checkArgument(lastPage >= firstPage, "last page cannot be less than first page");
JsonFetcher jsonFetcher = JsonFetcher.getInstance(context);
Flowable<String> mergedJsonsFlowable = Flowable.empty();
for (int page = 0; page <= lastPage; page++) {
String url = "https://api.themoviedb.org/3/movie/top_rated?" +
"api_key=4&" +
"language=en-US&" +
"page=" + page;
Single<String> jsonSingle = jsonFetcher.fetchJson(url);
mergedJsonsFlowable = mergedJsonsFlowable.mergeWith(jsonSingle);
}
return mergedJsonsFlowable;
}
Как вы можете видеть, я просто собираю синглы и объединяю их в Flowableрукой.Есть ли лучший способ сделать это без «разрыва цепи»?