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)