RxJava - Combinando Operadores
A seguir estão os operadores que são usados para criar um único observável a partir de vários observáveis.
Sr. Não. | Operador e descrição |
---|---|
1 | And/Then/When Combine conjuntos de itens usando intermediários de padrão e plano. |
2 | CombineLatest Combine o último item emitido por cada Observable por meio de uma função especificada e emita o item resultante. |
3 | Join Combine itens emitidos por dois Observáveis se emitidos durante o período do segundo item Observável emitido. |
4 | Merge Combina os itens emitidos de Observáveis. |
5 | StartWith Emita uma sequência especificada de itens antes de começar a emitir os itens da fonte Observável |
6 | Switch Emite os itens mais recentes emitidos por Observables. |
7 | Zip Combina itens de Observáveis com base na função e emite os itens resultantes. |
Exemplo de operador de combinação
Crie o seguinte programa Java usando qualquer editor de sua escolha em, 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);
}
}
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 -
g1g2g3g4g5g6