Rx java 让一个可观察对象等待第二个,而让第二个仅从第一个可观察对象获取最后发出的值

Rx java 让一个可观察对象等待第二个,而让第二个仅从第一个可观察对象获取最后发出的值,rx-java,reactive-programming,Rx Java,Reactive Programming,我有两个观测值,用来更新列表。其中一个获取列表中的项,另一个获取它们的状态,然后我创建实际的列表,其中的项具有相应的状态 让我们称它们为可观察的A和B A发出项目--a--b--c--> B发射它们的状态--a_真--b_假--c_真--> B无法访问实际项目,只能访问它们的Id,因此我需要两个可观察项 第一次我等待A和B发出第一批项目,然后我处理它们并将它们发送到列表中 每当A发出新批时,我需要B的更新以获取新项目的状态 B可以在任何给定时刻更新状态,只要A至少更新了项目一次,它就可以使用最后

我有两个观测值,用来更新列表。其中一个获取列表中的项,另一个获取它们的状态,然后我创建实际的列表,其中的项具有相应的状态

让我们称它们为可观察的AB

A发出项目--a--b--c-->

B发射它们的状态--a_真--b_假--c_真-->

B无法访问实际项目,只能访问它们的Id,因此我需要两个可观察项

第一次我等待AB发出第一批项目,然后我处理它们并将它们发送到列表中

每当A发出新批时,我需要B的更新以获取新项目的状态

B可以在任何给定时刻更新状态,只要A至少更新了项目一次,它就可以使用最后一批并更新其状态


最好的方法是什么?我在RxJava方面有一些经验,但我似乎找不到一种优雅的方法来使用可用的运算符实现这一点。

不确定您在这里尝试实现什么以及输出是什么。您可以使用一个
ConcurrentHashMap
,并让每个
都可以观察到
每当发生事件时都添加或更新到它。@akarnokd我基本上已经有了这个设置。然而,每当我得到新记录时,我都需要更新它们的状态。当我获得记录的新状态时,我实际上不需要更新记录。CombineTest操作符可能很有用。对于可观测的B,当A发出一些新信息时,您可以使用repeatWhen再次检索状态耶!这正是我需要的。请随意将其作为答案发布,我会将其标记为正确。