Ich bin neu bei rxjava. Ich muss zwei Observables kombinieren, die Objekte unterschiedlichen Typs aussenden. Etwas wie Observable<Milk>
und Observable<Cereals>
und erhalten Sie eine Observable<CerealsWithMilk>
. Ich konnte für so etwas keinen Operator finden. Was wäre die Art, so etwas zu tun? Beachten Sie, dass Milk
und Cereals
async sind.rxjava merge Observablen verschiedener Art
Antwort
Es ist schwer zu sagen, ohne genau zu wissen, was Sie brauchen, aber möglicherweise zip() oder combineLatest().
zip
nehmen beide Observable<Milk>
und Observable<Cereals>
und lassen Sie sie in CerealsWithMilk
über eine bereitgestellte Funktion kombinieren. Dies gibt eine neue CerealsWithMilk
jedes Mal, wenn Sie erhalten sowohl ein Milk
und ein Cereals
.
combineLatest
ist ähnlich zip
außer es ein neues CerealsWithMilk
auch wenn nur ein neues Milk
oder nur ein neues Cereals
emittiert wird, emittiert wird.
Wenn Sie Observablen unterschiedlicher Art zusammenführen müssen Sie Observable.zip
verwenden:
Observable<String> o1 = Observable.just("a", "b", "c");
Observable<Integer> o2 = Observable.just(1, 2, 3);
Observable<String> result = Observable.zip(o1, o2, (a, b) -> a + b);
result
wird eine beobachtbare Erzeugen der Anwendung von (a, b) -> a + b
-o1
‚s und o2
‘ s Elemente sein. Ergebnis in einer beobachtbaren Ausbeute "a1", "b2", "c3"
.
- 1. RxJava vergleiche verschiedene Artikel nach ID von zwei Observablen
- 2. RxJava Merge ohne Duplikate
- 3. zyklische Inferenz in Retrofit RxJava verschachtelte Observablen
- 4. Merge Art Python 3
- 5. RxJava, Ausführen von Code im Beobachter-Thread vor zwei Observablen
- 6. Unterschied zwischen Java 8-Streams und RxJava-Observablen
- 7. RxJava Verkettung Observablen und Fehlerbehandlung (benutzerdefinierte Ausnahme Propagation)
- 8. Merge 2 Listen verschiedener Typen mit LinQ
- 9. Merge Art Fehler in C
- 10. Android Fresco: Zeichnung verschiedener Art von Bildformen
- 11. Rxjava, Nachrüstung und mehrere Anrufe
- 12. Merge Spalten verschiedener Typen von Databases in eine größere Datentabelle
- 13. Geschwindigkeitsbegrenzende Observablen
- 14. Kombinieren Observablen bedingt
- 15. Kombinieren Observablen in RxJava, gibt es einen besseren Weg, dies zu tun?
- 16. In RxJava, wie man eine Variable bei der Verkettung von Observablen weiterleitet?
- 17. Gibt es einen Fall, dass ein Beobachter von einigen Observablen in RxJava geteilt wird?
- 18. RxJava: Wie wird die Arbeit einer Observablen fortgesetzt, wenn eine Konfigurationsänderung auftritt?
- 19. RxJava holt Observables parallel
- 20. RxJava Observable.cache ungültig
- 21. Kettenmethoden auf rxjava
- 22. Angular2: Update Observablen wenn Kind Eigenschaftsänderungen (verschachtelte Observablen)
- 23. RxJava Netzwerkanforderungen und Caching
- 24. CombineLatest und kalt Observablen
- 25. rxjs - Suche in Observablen
- 26. IndexOutOfBoundsException Implementierung in Java Art auf einer String Arraylist Merge
- 27. Merge Art, die aus „Programming Scala“ Stapelüberlauf verursacht
- 28. Erstellen einer Observablen Liste/Sammlung
- 29. RxJava teilen sich eine Emissionen des beobachtbaren zwischen mehreren Teilnehmern
- 30. Android + RxJava - Laden von Daten aus db UND Web-Service
Zip sieht genau so aus, was ich brauche. Vielen Dank! – Jelly
Hinweis - (so lange jedes der Observablen mindestens ein Element ausgegeben hat). – LEO