Skip to content

Comprensione degli Operatori

Gli operatori RxJS sono un insieme di funzioni per trasformare, comporre e controllare i flussi di dati Observable.

Gli operatori vengono solitamente utilizzati in combinazione, ed è qui che entra in gioco la "pipeline".

In RxJS, gli operatori sono classificati nelle seguenti categorie.

Elenco delle Categorie

Ogni categoria contiene numerosi operatori utili. Per i dettagli, consultare ciascuna categoria.

Tabella Riepilogativa degli Operatori

Per una spiegazione dettagliata di ciascun operatore, cliccare sul link corrispondente.

Elenco delle categorie di Operator
CategoriaOperatorDescrizione
TrasformazionemapTrasforma ogni valore
scanAccumula valori ed emette anche risultati intermedi
reduceAccumula tutti i valori ed emette solo il risultato finale
pairwiseElabora due valori consecutivi come coppia
groupByRaggruppa i flussi per chiave
mergeMapEsegue elaborazioni asincrone in parallelo
switchMapEsegue solo l'elaborazione asincrona più recente (annulla quelle precedenti)
concatMapEsegue elaborazioni asincrone in sequenza
exhaustMapIgnora nuove elaborazioni mentre una è in corso
expandEspande i risultati ricorsivamente
bufferRaggruppa i valori in un array ed emette
bufferTimeRaggruppa ed emette i valori a intervalli di tempo specificati
bufferCountRaggruppa ed emette i valori per numero specificato
bufferWhenBuffering con controllo dinamico della condizione di fine
bufferToggleBuffering con controllo indipendente di inizio e fine
FiltraggiofilterLascia passare solo i valori che soddisfano la condizione
takeOttiene solo i primi N valori
takeLastOttiene gli ultimi N valori
takeWhileOttiene i valori finché la condizione è soddisfatta
skipSalta i primi N valori
skipLastSalta gli ultimi N valori
skipWhileSalta i valori finché la condizione è soddisfatta
skipUntilSalta i valori fino a quando un altro Observable emette
firstOttiene il primo valore o il primo valore che soddisfa la condizione
lastOttiene l'ultimo valore o l'ultimo valore che soddisfa la condizione
elementAtOttiene il valore all'indice specificato
findTrova il primo valore che soddisfa la condizione
findIndexOttiene l'indice del primo valore che soddisfa la condizione
debounceTimeEmette l'ultimo valore se non ci sono input per il tempo specificato
throttleTimeLascia passare il primo valore e ignora i nuovi valori per il tempo specificato
auditTimeEmette l'ultimo valore dopo il tempo specificato
auditEmette l'ultimo valore controllando il periodo con Observable personalizzato
sampleTimeCampiona il valore più recente a intervalli di tempo specificati
ignoreElementsIgnora tutti i valori e lascia passare solo completamento/errore
distinctRimuove tutti i valori duplicati (emette solo valori unici)
distinctUntilChangedRimuove i valori duplicati consecutivi
distinctUntilKeyChangedRileva solo le modifiche di una proprietà specifica dell'oggetto
Combinazione (Pipeable)concatWithCombina altri Observable in sequenza dopo il completamento
mergeWithCombina più Observable simultaneamente
combineLatestWithCombina i valori più recenti di ciascun Observable
zipWithAccoppia i valori in ordine corrispondente
raceWithAdotta solo l'Observable che emette per primo
withLatestFromAggiunge gli ultimi valori di altri al flusso principale
mergeAllAppiattisce Higher-order Observable in parallelo
concatAllAppiattisce Higher-order Observable in sequenza
switchAllPassa all'Higher-order Observable più recente
exhaustAllIgnora nuovi Higher-order Observable mentre uno è in corso
combineLatestAllCombina i valori più recenti di tutti gli Observable interni
zipAllAccoppia i valori corrispondenti di ciascun Observable interno
UtilitytapEsegue effetti collaterali (come output di log)
finalizeEsegue post-elaborazione al completamento o in caso di errore
delayRitarda tutti i valori per il tempo specificato
delayWhenRitarda dinamicamente ciascun valore con un altro Observable
timeoutEmette un errore se non arrivano valori entro il tempo specificato
takeUntilOttiene i valori fino a quando un altro Observable emette un valore
retryRiprova fino al numero specificato di volte in caso di errore
repeatRipete il numero specificato di volte dopo il completamento
startWithAggiunge un valore iniziale all'inizio del flusso
toArrayRaggruppa tutti i valori in un array ed emette
materializeConverte le notifiche in oggetti Notification
dematerializeRiconverte gli oggetti Notification in notifiche normali
observeOnControlla il timing di emissione dei valori con uno scheduler
subscribeOnControlla il timing di inizio sottoscrizione con uno scheduler
timestampAggiunge un timestamp a ciascun valore
CondizionaledefaultIfEmptyEmette un valore predefinito se non ci sono valori
everyDetermina se tutti i valori soddisfano la condizione
isEmptyDetermina se non è stato emesso alcun valore
Gestione ErroricatchErrorCattura l'errore ed esegue l'elaborazione di fallback
retryRiprova fino al numero specificato di volte in caso di errore
retryWhenRiprova con condizioni personalizzate
MulticastingshareCondivide l'Observable tra più sottoscrittori
shareReplayMemorizza gli ultimi N valori e li riproduce per nuovi sottoscrittori

Pubblicato sotto licenza CC-BY-4.0.