2016-11-17 3 views
0

나는이 날이 같은 개체를 검색 할 수 있도록하는 API :RxJava 반복 작업

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

을 그리고 난

Observable<Answer from API> 

얼마나 문제를 반환 방법 getItems (페이지) 일부 RestApiService이 서버의 모든 페이지?

+2

[이 질문에] (https://stackoverflow.com/questions/37024967/how-to-handle-pagination-with-retrofit-2 - 및 - rxjava) 또는 [이 질문] (https://stackoverflow.com/questions/28047272/handle-paging-with-rxjava) – miensol

답변

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