【问题标题】:RxJava : update result of call with results of subsequent callsRxJava:使用后续调用的结果更新调用结果
【发布时间】:2015-12-17 19:17:11
【问题描述】:

我有两个电话:

  1. getItems() - 返回 List<Item>Item 也有 id 字段
  2. getParam(id) - 返回Param

我需要为List 中的每个Item 创建getItems() 然后getParam(id),然后需要用收到的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(...);

提前致谢。

【问题讨论】:

标签: java android reactive-programming rx-java rx-android


【解决方案1】:

使用两参数flatMap;第二个参数是Func2,它将接收原始项目和第一个参数调用的每个结果。

【讨论】:

    猜你喜欢
    • 2014-01-23
    • 2014-04-25
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多