首页 > 解决方案 > RxJava:从单个 Observable 传递嵌套数据

问题描述

[RxJava 版本 3]

下面的链接显示了在使用嵌套的 observable 链接 observable 时如何传递变量:

在 RxJava 中,如何在链接 observables 时传递变量?

但是,当数据全部来自单个 observable 时,它​​似乎不起作用。例如,在数据结构中:

obs.flatMap(dataStructure ->
            obs.map(dataStructure1 ->
                    dataStructure1.b).map(b ->
                        foobar(dataStructure.a, b)));

大概这不起作用,因为我试图从同一个可观察对象中获取两次,它处理 a 和 b 的所有组合两次。除了看起来很丑陋之外,是否有一种简单的方法可以实现我想要的同时能够任意向链中添加内容(例如,在调用 foobar 之前对 b 执行更多操作)?

标签: javarx-javareactivex

解决方案


推荐阅读