- RxJava 教程
- RxJava - 首頁
- RxJava - 概述
- RxJava - 環境搭建
- 可觀察物件
- RxJava - 可觀察物件的工作原理
- RxJava - 建立可觀察物件
- RxJava - Single 可觀察物件
- RxJava - Maybe 可觀察物件
- RxJava - Completable 可觀察物件
- RxJava - 使用 CompositeDisposable
- 運算子
- RxJava - 建立運算子
- RxJava - 轉換運算子
- RxJava - 過濾運算子
- RxJava - 組合運算子
- RxJava - 工具運算子
- RxJava - 條件運算子
- RxJava - 數學運算子
- RxJava - 可連線運算子
- 主題
- RxJava - 主題
- RxJava - PublishSubject
- RxJava - BehaviorSubject
- RxJava - ReplaySubject
- RxJava - AsyncSubject
- 排程器
- RxJava - 排程器
- RxJava - Trampoline 排程器
- RxJava - NewThread 排程器
- RxJava - Computation 排程器
- RxJava - IO 排程器
- RxJava - From 排程器
- 其他
- RxJava - 緩衝
- RxJava - 視窗
- RxJava 有用資源
- RxJava - 快速指南
- RxJava - 有用資源
- RxJava - 討論
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
廣告