Angesichts einer heißen Observable<String> myObservable
, die Werte in unregelmäßigen Abständen emittieren. Ich möchte in der Lage sein zu flatMap
ein obs1
Observable
und je nach Ergebnis von obs1
ich flatMap
will eine obs2
mit dem anfänglichen myObservable
Wert. Als Beispiel den Code betrachten unter:Erhalten der anfänglichen Emission eines Observable später in seinem Baum
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
}
});
Eine Lösung wäre es, die myObservable
in einer Variablen zu speichern und zu seinem letzten Wert in den diese zweiten flatMap
aber ich war nicht in der Lage zu bekommen weder zu erreichen, so bin ich Ich suche eine elegantere Lösung. Danke.
Tatsächlich ist dies ein so offensichtlich war, ich weiß nicht, wie ich das verpasst. Danke für Ihre Hilfe –