Operadores de Transformação
Os operadores de transformação são usados para transformar e processar dados dentro do pipeline RxJS. Ao transformar valores em novas formas, eles permitem um controle mais flexível e poderoso sobre o fluxo de dados reativos.
Lista de Operadores
◾ Transformações Simples de Valores
| Operador | Descrição |
|---|---|
| map | Aplica uma função de transformação a cada valor |
◾ Acumulação
| Operador | Descrição |
|---|---|
| scan | Gera valores cumulativamente |
| reduce | Gera apenas o resultado acumulado final |
◾ Emparelhamento e Agrupamento
| Operador | Descrição |
|---|---|
| pairwise | Processa dois valores consecutivos em pares |
| groupBy | Agrupa valores com base em uma chave |
◾ Transformação Assíncrona
| Operador | Descrição |
|---|---|
| mergeMap | Transforma cada valor em um Observable e mescla em paralelo |
| switchMap | Muda para o Observable mais recente |
| concatMap | Executa cada Observable sequencialmente |
| exhaustMap | Ignora novas entradas enquanto executa |
| expand | Expande resultados recursivamente |
◾ Processamento em Lote
| Operador | Descrição |
|---|---|
| buffer | Agrupa valores no momento de outro Observable |
| bufferTime | Agrupa valores em intervalos regulares |
| bufferCount | Agrupa valores por contagem especificada |
| bufferWhen | Buffering com condições de término controladas dinamicamente |
| bufferToggle | Buffering com controle independente de início e fim |
| windowTime | Divide em sub-Observables em intervalos regulares |
Padrões Práticos de Transformação
Em aplicações do mundo real, o seguinte processamento é possível combinando operadores de transformação:
- Validação de entrada e feedback
- Controle ideal de requisições de API assíncronas
- Modelagem, agregação e normalização de dados
- Processamento em lote e agrupamento de fluxos de eventos
👉 Para mais informações: Padrões Práticos de Transformação
🚨 Notas
Para evitar erros comuns ao usar operadores de transformação, consulte também:
- Efeitos colaterais em map - Use
mapcomo uma função pura - Seleção inadequada de operador - Uso adequado de operadores de ordem superior