RxJava - łączenie operatorów

Poniżej znajdują się operatory, które są używane do tworzenia pojedynczego Observable z wielu Observable.

Sr.No. Operator i opis
1 And/Then/When

Połącz zestawy przedmiotów za pomocą pośredników wzorca i planu.

2 CombineLatest

Połącz najnowszy element wyemitowany przez każdy Observable za pośrednictwem określonej funkcji i wyemituj wynikowy element.

3 Join

Połącz elementy wyemitowane przez dwa Observables, jeśli wyemitowano w ramach czasowych drugiej Obserwowalnej emitowanej pozycji.

4 Merge

Łączy wyemitowane elementy Observables.

5 StartWith

Emituj określoną sekwencję elementów przed rozpoczęciem emitowania elementów ze źródła Observable

6 Switch

Emituje najnowsze elementy emitowane przez Observables.

7 Zip

Łączy elementy Observables na podstawie funkcji i emituje wynikowe elementy.

Przykład łączenia operatorów

Utwórz następujący program w języku Java, używając dowolnego wybranego edytora, na przykład w C: \> RxJava.

ObservableTester.java

import io.reactivex.Observable;
//Using combineLatest operator to combine Observables
public class ObservableTester {
   public static void main(String[] args) {    
      Integer[] numbers = { 1, 2, 3, 4, 5, 6};
      String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
      final StringBuilder result = new StringBuilder();
      Observable<String> observable1 = Observable.fromArray(letters);
      Observable<Integer> observable2 = Observable.fromArray(numbers);
      Observable.combineLatest(observable1, observable2, (a,b) -> a + b)
         .subscribe( letter -> result.append(letter));
      System.out.println(result);
   }
}

Sprawdź wynik

Skompiluj klasę przy użyciu javac kompilator w następujący sposób -

C:\RxJava>javac ObservableTester.java

Teraz uruchom ObservableTester w następujący sposób -

C:\RxJava>java ObservableTester

Powinien dać następujący wynik -

g1g2g3g4g5g6