RxJava - Operadores condicionales
A continuación se muestran los operadores que evalúan uno o varios Observables o elementos emitidos.
No Señor. | Operador y descripción |
---|---|
1 | All Evalúa todos los elementos emitidos para cumplir con los criterios dados. |
2 | Amb Emite todos los elementos del primer Observable solo dados múltiples Observables. |
3 | Contains Comprueba si un Observable emite un elemento en particular o no. |
4 | DefaultIfEmpty Emite un elemento predeterminado si el Observable no emite nada. |
5 | SequenceEqual Comprueba si dos Observables emiten la misma secuencia de elementos. |
6 | SkipUntil Descarta los elementos emitidos por el primer Observable hasta que un segundo Observable emite un elemento. |
7 | SkipWhile Deseche los elementos emitidos por un Observable hasta que una condición determinada se vuelva falsa. |
8 | TakeUntil Descarta elementos emitidos por un Observable después de que un segundo Observable emite un elemento o termina. |
9 | TakeWhile Deseche los elementos emitidos por un Observable después de que una condición especificada se vuelva falsa. |
Ejemplo de operador condicional
Cree el siguiente programa Java usando cualquier editor de su elección en, 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);
}
}
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:
No Data
a