Combinação de Streams | Rxjs
- Combinação de Streams | Rxjs
A combinação de data streams no RxJS permite unir, mesclar ou sincronizar múltiplos Observables para criar fluxos de dados mais complexos. Isso é útil, por exemplo, para reagir a múltiplos eventos, combinar resultados de requisições ou sincronizar estados.
Principais operadores de combinação no RxJS:
- combineLatest: Emite um novo valor sempre que qualquer um dos Observables combinados emitir, usando o último valor de cada um.
- withLatestFrom: Quando o Observable principal emite, combina com o último valor de outros Observables.
- merge: Mescla múltiplos Observables em um único Observable, emitindo valores conforme chegam.
- concat: Emite todos os valores de um Observable, depois passa para o próximo.
- zip: Emite pares de valores, um de cada Observable, sincronizados por posição.
- forkJoin: Aguarda todos os Observables completarem e emite um array com o último valor de cada um.
Exemplo com combineLatest:
import { combineLatest, of } from 'rxjs';
const obs1 = of('A', 'B');
const obs2 = of(1, 2);
combineLatest([obs1, obs2]).subscribe(([letra, numero]) => {
console.log(letra, numero);
});
// Saída: B 2
Cada operador tem um comportamento específico para diferentes cenários de combinação de streams. Use o que melhor se adapta à sua necessidade!