RxJava - Operatori collegabili
Di seguito sono riportati gli operatori che hanno un controllo più preciso sull'abbonamento.
Sr.No. | Operatore e descrizione |
---|---|
1 | Connect Indica a un osservabile collegabile di emettere elementi ai suoi abbonati. |
2 | Publish Converte un osservabile in osservabile collegabile. |
3 | RefCount Converte un osservabile collegabile in un osservabile ordinario. |
4 | Replay Assicurati che la stessa sequenza di elementi emessi sia visualizzata da ciascun abbonato, anche dopo che l'Osservabile ha iniziato a emettere elementi e gli abbonati si iscrivono in un secondo momento. |
Esempio di operatore collegabile
Crea il seguente programma Java utilizzando qualsiasi editor di tua scelta, ad esempio 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);
}
}
Verifica il risultato
Compila la classe usando javac compilatore come segue -
C:\RxJava>javac ObservableTester.java
Ora esegui ObservableTester come segue:
C:\RxJava>java ObservableTester
Dovrebbe produrre il seguente output:
0
7
abcdefg