RxJava - Kết hợp các toán tử

Sau đây là các toán tử được sử dụng để tạo một Observable duy nhất từ ​​nhiều Observable.

Sr.No. Nhà điều hành & Mô tả
1 And/Then/When

Kết hợp các bộ mặt hàng bằng cách sử dụng trung gian Mẫu và Kế hoạch.

2 CombineLatest

Kết hợp mục mới nhất được phát ra bởi mỗi Observable thông qua một chức năng được chỉ định và phát ra mục kết quả.

3 Join

Kết hợp các mục được phát ra bởi hai Có thể quan sát nếu được phát ra trong khung thời gian của mục phát ra Có thể quan sát thứ hai.

4 Merge

Kết hợp các mục được phát ra từ các Quan sát.

5 StartWith

Phát ra một chuỗi các mục cụ thể trước khi bắt đầu phát các mục từ nguồn có thể quan sát được

6 Switch

Phát ra các mục gần đây nhất do Observables phát ra.

7 Zip

Kết hợp các mục của Observables dựa trên chức năng và phát ra các mục kết quả.

Ví dụ về toán tử kết hợp

Tạo chương trình Java sau bằng bất kỳ trình soạn thảo nào bạn chọn trong 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);
   }
}

Xác minh kết quả

Biên dịch lớp bằng cách sử dụng javac trình biên dịch như sau -

C:\RxJava>javac ObservableTester.java

Bây giờ hãy chạy ObservableTester như sau:

C:\RxJava>java ObservableTester

Nó sẽ tạo ra kết quả sau:

g1g2g3g4g5g6