RxJava - Operadores condicionais
A seguir estão os operadores que avaliam um ou vários Observáveis ou itens emitidos.
Sr. Não. | Operador e descrição |
---|---|
1 | All Avalia todos os itens emitidos para atender a determinados critérios. |
2 | Amb Emite todos os itens do primeiro Observable apenas dados vários Observables. |
3 | Contains Verifica se um Observable emite um item específico ou não. |
4 | DefaultIfEmpty Emite o item padrão se Observable não emitir nada. |
5 | SequenceEqual Verifica se dois Observáveis emitem a mesma sequência de itens. |
6 | SkipUntil Descarta os itens emitidos pelo primeiro Observável até que um segundo Observável emita um item. |
7 | SkipWhile Descarte itens emitidos por um Observável até que uma determinada condição se torne falsa. |
8 | TakeUntil Descarta os itens emitidos por um Observable depois que um segundo Observable emite um item ou termina. |
9 | TakeWhile Descarte os itens emitidos por um Observável após uma condição especificada se tornar falsa. |
Exemplo de operador condicional
Crie o seguinte programa Java usando qualquer editor de sua escolha em, digamos, C: \> RxJava.
ObservableTester.java
import io.reactivex.Observable;
//Using defaultIfEmpty operator to operate on an Observable
public class ObservableTester {
public static void main(String[] args) {
final StringBuilder result = new StringBuilder();
Observable.empty()
.defaultIfEmpty("No Data")
.subscribe(s -> result.append(s));
System.out.println(result);
String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
final StringBuilder result1 = new StringBuilder();
Observable.fromArray(letters)
.firstElement()
.defaultIfEmpty("No data")
.subscribe(s -> result1.append(s));
System.out.println(result1);
}
}
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 -
No Data
a