Skip to main content

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!