RxJava - 組合運算子



以下是用於從多個可觀察物件建立單個可觀察物件的運算子。

序號 運算子和描述
1 And/Then/When

使用 Pattern 和 Plan 中介組合專案集。

2 CombineLatest

透過指定的函式組合每個可觀察物件發出的最新專案,併發出結果專案。

3 Join

如果在第二個可觀察物件發出的專案的時限內發出,則組合兩個可觀察物件發出的專案。

4 Merge

組合可觀察物件發出的專案。

5 StartWith

在開始發出源可觀察物件的專案之前,發出指定的專案序列。

6 Switch

發出可觀察物件發出的最新專案。

7 Zip

基於函式組合可觀察物件的專案,併發出結果專案。

組合運算子示例

使用您選擇的任何編輯器在例如 C:\> RxJava 中建立以下 Java 程式。

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);
   }
}

驗證結果

使用 **javac** 編譯器編譯類,如下所示 -

C:\RxJava>javac ObservableTester.java

現在執行 ObservableTester,如下所示 -

C:\RxJava>java ObservableTester

它應該產生以下輸出 -

g1g2g3g4g5g6
廣告

© . All rights reserved.