我有2个电话:
getItems()
- 返回List<Item>
,Item
还有id
字段getParam(id)
- 返回Param
我需要为getItems()
中的每个getParam(id)
制作Item
然后List
,然后需要使用收到的Item
更新每个Param
我的问题是:
如何使用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(...);
提前致谢。
答案 0 :(得分:1)
使用双参数flatMap
;第二个参数是Func2
,它将同时接收原始项目和第一个参数调用的每个结果。