Ниже приведены операторы, которые более точно контролируют подписку.
Sr.No. | Оператор и описание |
---|---|
1 |
соединять Поручить подключаемому Observable для передачи предметов своим подписчикам. |
2 |
Публиковать Преобразует наблюдаемое в подключаемое наблюдаемое. |
3 |
RefCount Преобразует подключаемый объект Observable в обычный объект Observable. |
4 |
переигровка Убедитесь, что каждый подписчик просматривает одинаковую последовательность отправленных элементов, даже после того, как Observable начал излучать элементы и подписчики подписываются позже. |
соединять
Поручить подключаемому Observable для передачи предметов своим подписчикам.
Публиковать
Преобразует наблюдаемое в подключаемое наблюдаемое.
RefCount
Преобразует подключаемый объект Observable в обычный объект Observable.
переигровка
Убедитесь, что каждый подписчик просматривает одинаковую последовательность отправленных элементов, даже после того, как 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
Он должен произвести следующий вывод —