RxJava重复操作

时间:2016-11-17 09:13:40

标签: android rx-java

我有一个API,可以让我检索这样的对象:

Answer from API
{
    currentPage = some_int;
    maxPage = some_int;
    List<String> items; //items on page
}

我有一些RestApiService,其方法是getItems(页面),返回

Observable<Answer from API>

如何从服务器获取所有页面的问题?

1 个答案:

答案 0 :(得分:0)

这个代码库示例应该可以解决这个问题

@Test
public void repeat() {
    int maxPage = 10;
    int[] arrayPages = IntStream.range(0, maxPage).toArray();
    List<Integer> pages = IntStream.of(arrayPages).boxed().collect(Collectors.toList());
    Observable.from(pages)
            .map(this::getItemsApi)
            .toList()
            .subscribe(list -> System.out.println("All items:" + list));
}

public String getItemsApi(int page) {
    return "Items form page " + page;
}

无论如何,您应该尝试避免复制/粘贴代码而不了解其工作原理。您可以在这里看到一些关于RxJava https://github.com/politrons/reactive

的实际示例和一些文档