I RxJava seit einiger Zeit bin mit und haben sich auf dem folgenden Muster stecken geblieben, die sich wiederholt:RxJava: Verkettungs Ergebnisse von Karten Methoden
source
.map(a -> b)
.map(b -> c)
.map(d -> func(a,b,c))
Wie Sie sehen, ich in einem unteren Punkt der Kette müssen einige von Ergebnissen der vorherigen Mapping-Methoden. Ich bin mir nicht sicher, ob dies eine Java-Einschränkung ist, da Lambda's nicht auf externe Parameter verweisen kann, die nicht endgültig sind, oder dies ist eine eingebaute Beschränkung auf Rx-Extensions. Meine aktuelle Lösung besteht darin, einen Wrapper zu verwenden, der a, b, c enthält - und jeden innerhalb der Map zu addieren und dann die Wrapper-Klasse zurückzugeben. Aber diese Lösung fühlt sich nicht schreiben.
Gibt es eine bessere Lösung?
das wäre ok im Falle mehrerer Karten. aber sobald Sie einen Filter oder Zip oder eine andere Kombination haben, wird es nicht funktionieren – chaimt
Dann müssen Sie einen Wrapper in jeder Phase verwenden. – akarnokd