Java 如何将一个可观察值映射到与依赖的可观察值配对的值?
假设我有两个观测值:Java 如何将一个可观察值映射到与依赖的可观察值配对的值?,java,rx-java,reactivex,Java,Rx Java,Reactivex,假设我有两个观测值: 可观测的主信息OBS和 可观察的附加信息obs(mainfo mainfo)功能 我想以某种方式组合这些观察值以接收对 我不能只使用zip,因为additionalInfoObs依赖于mainfo 所以我想做一些类似的事情 mainInfoObs .map(mainInfo->new Pair(mainInfo, getAdditionalInfo(mainInfo).toBlocking().last()
可观测的主信息OBS
和
可观察的附加信息obs(mainfo mainfo)
功能
我想以某种方式组合这些观察值以接收对
我不能只使用zip,因为additionalInfoObs
依赖于mainfo
所以我想做一些类似的事情
mainInfoObs
.map(mainInfo->new Pair(mainInfo,
getAdditionalInfo(mainInfo).toBlocking().last()
)
)
但是它会阻塞和挂起
请帮助我-如何根据我的需要组合观测值?事实证明,flatMap有一个带有2个参数的变量,这正是我所需要的。
以下是我使用flatmap的解决方案:
mainInfoObs.flatMap(mainInfo->getAdditionalInfo(mainInfo), Pair::new)
事实证明,flatMap有一个带有2个参数的变量,这就是我需要的。
以下是我使用flatmap的解决方案:
mainInfoObs.flatMap(mainInfo->getAdditionalInfo(mainInfo), Pair::new)