RxJava - Opérateurs connectables

Voici les opérateurs qui contrôlent plus précisément l'abonnement.

N ° Sr. Opérateur et description
1

Connect

Demandez à un observable connectable d'émettre des éléments à ses abonnés.

2

Publish

Convertit un observable en observable connectable.

3

RefCount

Convertit un observable connectable en observable ordinaire.

4

Replay

Assurez-vous que la même séquence d'éléments émis soit visible par chaque abonné, même après que l'Observable a commencé à émettre des éléments et que les abonnés s'abonnent plus tard.

Exemple d'opérateur connectable

Créez le programme Java suivant en utilisant n'importe quel éditeur de votre choix dans, par exemple, 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);
   }
}

Vérifiez le résultat

Compilez la classe en utilisant javac compilateur comme suit -

C:\RxJava>javac ObservableTester.java

Exécutez maintenant l'ObservableTester comme suit -

C:\RxJava>java ObservableTester

Il devrait produire la sortie suivante -

0
7
abcdefg