2015-12-17 50 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,它将接收原始项目和第一个参数调用的每个结果。