Operatori di Trasformazione
Gli operatori di trasformazione vengono utilizzati per trasformare e processare i dati all'interno delle pipeline di RxJS. Trasformando i valori in nuove forme, è possibile controllare i flussi di dati reattivi in modo più flessibile e potente.
Elenco degli Operatori
◾ Trasformazione Semplice dei Valori
| Operatore | Descrizione |
|---|---|
| map | Applica una funzione di trasformazione a ciascun valore |
◾ Elaborazione Cumulativa
| Operatore | Descrizione |
|---|---|
| scan | Genera valori cumulativi |
| reduce | Emette solo il risultato cumulativo finale |
◾ Elaborazione di Coppie e Raggruppamento
| Operatore | Descrizione |
|---|---|
| pairwise | Elabora due valori consecutivi come coppia |
| groupBy | Raggruppa i valori in base alla chiave |
◾ Trasformazione Asincrona
| Operatore | Descrizione |
|---|---|
| mergeMap | Trasforma ciascun valore in Observable e li combina in parallelo |
| switchMap | Passa all'Observable più recente |
| concatMap | Esegue ciascun Observable in sequenza |
| exhaustMap | Ignora nuovi input mentre è in corso un'esecuzione |
| expand | Espande i risultati ricorsivamente |
◾ Elaborazione Batch
| Operatore | Descrizione |
|---|---|
| buffer | Raggruppa i valori al timing di un altro Observable |
| bufferTime | Raggruppa i valori a intervalli di tempo regolari |
| bufferCount | Raggruppa per numero specificato |
| bufferWhen | Buffering con controllo dinamico della condizione di fine |
| bufferToggle | Buffering con controllo indipendente di inizio e fine |
| windowTime | Divide in sub-Observable a intervalli di tempo regolari |
Pattern di Trasformazione Pratici
Nelle applicazioni reali, combinando gli operatori di trasformazione è possibile realizzare le seguenti elaborazioni.
- Validazione dell'input e feedback
- Controllo ottimale delle richieste API asincrone
- Formattazione, aggregazione e normalizzazione dei dati
- Elaborazione batch e raggruppamento dei flussi di eventi
👉 Per maggiori dettagli: consulta Pattern di Trasformazione Pratici.
🚨 Note
Per evitare errori comuni nell'uso degli operatori di trasformazione, consultare anche quanto segue.
- Effetti collaterali in map - Usa
mapcome funzione pura - Selezione inappropriata dell'operatore - Uso appropriato degli operatori di ordine superiore