Observable<String> myObservable
给定一个以不规则间隔发出值的热点。我希望能够根据我想要flatMap
的结果获得初始值。例如,考虑下面的代码:obs1
Observable
obs1
flatMap
obs2
myObservable
myObservable
.flatMap(stringResult -> myObject.getObs1(stringResult))
.flatMap(result -> {
if (result) {
myObject.getObs2(stringResult); // Here I would like to get stringResult emitted by myObservable but I can't
} else {
Observable.just(result); // We continue with the "same" initial Observable
}
});
一个解决方案是将其存储myObservable
在一个变量中并在第二个获得其最新值,flatMap
但我也无法实现这一点,所以我正在寻找一个更优雅的解决方案。谢谢你。