RxJava - Operadores de combinación
A continuación se muestran los operadores que se utilizan para crear un único Observable a partir de múltiples Observables.
No Señor. | Operador y descripción |
---|---|
1 | And/Then/When Combine conjuntos de artículos utilizando los intermediarios Patrón y Plan. |
2 | CombineLatest Combine el último elemento emitido por cada Observable a través de una función específica y emita el elemento resultante. |
3 | Join Combine los elementos emitidos por dos Observables si se emitieron durante el marco de tiempo del segundo elemento Observable emitido. |
4 | Merge Combina los elementos emitidos de Observables. |
5 | StartWith Emite una secuencia específica de elementos antes de comenzar a emitir los elementos de la fuente Observable |
6 | Switch Emite los elementos más recientes emitidos por Observables. |
7 | Zip Combina elementos de Observables en función de la función y emite los elementos resultantes. |
Ejemplo de operador de combinación
Cree el siguiente programa Java usando cualquier editor de su elección en, digamos, C: \> RxJava.
ObservableTester.java
import io.reactivex.Observable;
//Using combineLatest operator to combine Observables
public class ObservableTester {
public static void main(String[] args) {
Integer[] numbers = { 1, 2, 3, 4, 5, 6};
String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
final StringBuilder result = new StringBuilder();
Observable<String> observable1 = Observable.fromArray(letters);
Observable<Integer> observable2 = Observable.fromArray(numbers);
Observable.combineLatest(observable1, observable2, (a,b) -> a + b)
.subscribe( letter -> result.append(letter));
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:
g1g2g3g4g5g6