RxJava - Toán tử có thể kết nối

Sau đây là các nhà khai thác có quyền kiểm soát chính xác hơn đối với việc đăng ký.

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

Connect

Hướng dẫn một Observable có thể kết nối phát các mục cho người đăng ký của nó.

2

Publish

Chuyển đổi một Observable thành Observable có thể kết nối.

3

RefCount

Chuyển đổi một Observable có thể kết nối thành Observable thông thường.

4

Replay

Đảm bảo mỗi người đăng ký có thể nhìn thấy cùng một chuỗi các mục đã phát, ngay cả sau khi Người quan sát đã bắt đầu phát các mục và người đăng ký đăng ký sau.

Ví dụ về toán tử có thể kết nối

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;
import io.reactivex.observables.ConnectableObservable;
//Using connect operator on a ConnectableObservable
public class ObservableTester {
   public static void main(String[] args) {
      String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
      final StringBuilder result = new StringBuilder();
      ConnectableObservable<String> connectable = Observable.fromArray(letters).publish();      
      connectable.subscribe(letter -> result.append(letter));
      System.out.println(result.length());
      connectable.connect();
      System.out.println(result.length());
      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:

0
7
abcdefg