2015-12-17 55 views
0

我有2個呼叫:RxJava:與後續調用的結果調用的更新結果

  1. getItems() - 返回一個List<Item>,也Itemid
  2. getParam(id) - 返回Param

我需要製作getItems(),然後getParam(id)List中的每個Item和然後需要獲得Param

我的問題,以更新每個Item是:

我怎樣才能讓這個使用RxJava?

  api.getItems() 
        .flatMapIterable(new Func1<List<Item>, Iterable<Item>>() { 
         @Override 
         public Iterable<Item> call(List<Item> items) { 
          return items; 
         } 
        }) 
        .flatMap(new Func1<Item, Observable<?>>() { 
         @Override 
         public Observable<?> call(Item item) { 
          return api.getParam(item.id) 
         } 
        }), 

        ... 

        .subscribe(...); 

在此先感謝。

+1

也許這有助於合併您的調用結果:http://stackoverflow.com/questions/26356852/how-to-wait-mulitple-nested-async-calls-by-using-of-rxjava-android/26376704#26376704 –

回答

1

使用雙參數flatMap;第二個參數是Func2,它將接收原始項目和第一個參數調用的每個結果。