RxJava - Operadores conectáveis
A seguir estão as operadoras que têm controle mais preciso sobre a assinatura.
Sr. Não. | Operador e descrição |
---|---|
1 | Connect Instrua um Observable conectável a emitir itens para seus assinantes. |
2 | Publish Converte um Observável em um Observável conectável. |
3 | RefCount Converte um Observável conectável em um Observável comum. |
4 | Replay Garanta que a mesma sequência de itens emitidos seja vista por cada assinante, mesmo depois que o Observable começar a emitir itens e os assinantes se inscreverem posteriormente. |
Exemplo de operador conectável
Crie o seguinte programa Java usando qualquer editor de sua escolha em, 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);
}
}
Verifique o resultado
Compile a classe usando javac compilador da seguinte forma -
C:\RxJava>javac ObservableTester.java
Agora execute o ObservableTester da seguinte maneira -
C:\RxJava>java ObservableTester
Ele deve produzir a seguinte saída -
0
7
abcdefg