Rxjava 简明教程

RxJava - Connectable Operators

以下是更精确控制订阅的运算符。

Sr.No.

Operator & Description

1

Connect 指示可连接的 Observable 向其订阅者发出项目。

2

Publish 将 Observable 转换为可连接的 Observable。

3

RefCount 将可连接 Observable 转换为普通 Observable。

4

Replay 即使 Observable 已开始发出项且订阅者稍后才订阅,也要确保每个订阅者都看到相同的已发出项序列。

Connectable Operator Example

在任意编辑器中使用任何您选择的语言(如 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);
   }
}

Verify the Result

按照如下方式使用 javac 编译器编译类 −

C:\RxJava>javac ObservableTester.java

现在按照如下所示运行 ObservableTester:

C:\RxJava>java ObservableTester

它应该产生以下输出 −

0
7
abcdefg