RxJava - ตัวดำเนินการที่เชื่อมต่อได้

ต่อไปนี้เป็นตัวดำเนินการที่สามารถควบคุมการสมัครสมาชิกได้อย่างแม่นยำยิ่งขึ้น

ซีเนียร์ ตัวดำเนินการและคำอธิบาย
1

Connect

สั่งให้ Observable ที่เชื่อมต่อได้เพื่อส่งรายการไปยังสมาชิก

2

Publish

แปลง Observable เป็น Observable ที่เชื่อมต่อได้

3

RefCount

แปลง Observable ที่เชื่อมต่อได้เป็น Observable ธรรมดา

4

Replay

ตรวจสอบให้แน่ใจว่าผู้ติดตามแต่ละคนเห็นลำดับรายการที่ปล่อยออกมาเหมือนกันแม้ว่า Observable จะเริ่มปล่อยไอเท็มและสมาชิกจะติดตามในภายหลังก็ตาม

ตัวอย่างตัวดำเนินการที่เชื่อมต่อได้

สร้างโปรแกรม Java ต่อไปนี้โดยใช้โปรแกรมแก้ไขที่คุณเลือกใน 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);
   }
}

ตรวจสอบผลลัพธ์

รวบรวมคลาสโดยใช้ javac คอมไพเลอร์ดังนี้ -

C:\RxJava>javac ObservableTester.java

ตอนนี้เรียกใช้ ObservableTester ดังนี้ -

C:\RxJava>java ObservableTester

ควรให้ผลลัพธ์ดังต่อไปนี้ -

0
7
abcdefg