假设我有两个观察值:
Observable<MainInfo> mainInfoObs
和
Observable<AdditionalInfo> additionalInfoObs(MainInfo mainInfo)
函数。
我想以某种方式将这些可观测数据组合在一起来接收Pair<MainInfo, AdditionalInfo>
我不能只使用zip,因为additionalInfoObs
依赖于mainInfo
。
所以我想做一些类似的事情
mainInfoObs
.map(mainInfo->new Pair(mainInfo,
getAdditionalInfo(mainInfo).toBlocking().last()
)
)
但这会阻塞和挂起。
请帮助我-如何按照我想要的方式组合观察值?
发布于 2017-03-31 16:59:36
结果是,flatMap有一个带2个参数的变量,这正是我需要的。以下是我使用flatmap的解决方案:
mainInfoObs.flatMap(mainInfo->getAdditionalInfo(mainInfo), Pair::new)
https://stackoverflow.com/questions/43144899
复制相似问题