RxJava - 可連線運算子



以下是更精確控制訂閱的運算子。

序號 運算子及描述
1

Connect

指示可連線的可觀察物件向其訂閱者發出專案。

2

Publish

將可觀察物件轉換為可連線的可觀察物件。

3

RefCount

將可連線的可觀察物件轉換為普通可觀察物件。

4

Replay

確保每個訂閱者都能看到相同的發射專案序列,即使在可觀察物件開始發射專案並且訂閱者稍後訂閱之後也是如此。

可連線運算子示例

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

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

驗證結果

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

C:\RxJava>javac ObservableTester.java

現在執行 ObservableTester,如下所示:

C:\RxJava>java ObservableTester

它應該產生以下輸出:

0
7
abcdefg
廣告

© . All rights reserved.