RxJava - Operadores conectables
A continuación se muestran los operadores que tienen un control más preciso sobre la suscripción.
No Señor. | Operador y descripción |
---|---|
1 | Connect Instruya a un Observable conectable para que emita elementos a sus suscriptores. |
2 | Publish Convierte un Observable en Observable conectable. |
3 | RefCount Convierte un Observable conectable en Observable ordinario. |
4 | Replay Asegúrese de que cada suscriptor vea la misma secuencia de elementos emitidos, incluso después de que el Observable haya comenzado a emitir elementos y los suscriptores se suscriban más tarde. |
Ejemplo de operador conectable
Cree el siguiente programa Java utilizando cualquier editor de su elección en, digamos, 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);
}
}
Verificar el resultado
Compila la clase usando javac compilador de la siguiente manera:
C:\RxJava>javac ObservableTester.java
Ahora ejecute ObservableTester de la siguiente manera:
C:\RxJava>java ObservableTester
Debería producir el siguiente resultado:
0
7
abcdefg