Skip to content

Compreendendo os Operadores

Os operadores RxJS são um conjunto de funções para transformar, compor e controlar fluxos de dados Observable.

Os operadores geralmente são usados em combinação com vários outros, e é aí que entra o "pipeline".

No RxJS, os operadores se dividem nas seguintes categorias

Lista de categorias

Cada categoria contém vários operadores úteis. Consulte cada categoria para obter detalhes.

Lista de Operadores

Para uma descrição detalhada de cada operador, clique no link para navegar.

Lista de categorias de Operadores
CategoriaOperadorDescrição
TransformaçãomapConverte cada valor
scanAcumula valores e gera resultados intermediários
reduceAcumula todos os valores e gera apenas o resultado final
pairwiseProcessa dois valores consecutivos em pares
groupByAgrupa streams por chave
mergeMapExecução paralela de processamento assíncrono
switchMapExecuta apenas o processamento assíncrono mais recente (cancela processamento mais antigo)
concatMapExecuta processos assíncronos sequencialmente
exhaustMapIgnora novos processos durante a execução
expandExpande resultados recursivamente
bufferPublica valores em um array
bufferTimePublica valores em intervalos de tempo especificados
bufferCountPublica valores em lotes de número especificado de valores
bufferWhenBuffering com condições de término controladas dinamicamente
bufferToggleBuffering com controle independente de início e fim
FiltragemfilterPermite passar apenas valores que correspondem à condição
takeObtém apenas os primeiros N valores
takeLastObtém os últimos N valores
takeWhileObtém valores enquanto a condição é atendida
skipPula os primeiros N valores
skipLastPula os últimos N valores
skipWhilePula valores enquanto a condição é satisfeita
skipUntilPula valores até que outro Observable dispare
firstObtém o primeiro valor ou o primeiro valor que satisfaz uma condição
lastObtém o último valor ou o último valor que satisfaz a condição
elementAtObtém o valor em um determinado índice
findEncontra o primeiro valor que satisfaz uma condição
findIndexObtém o índice do primeiro valor que satisfaz a condição
debounceTimeEmite o último valor se nenhuma entrada for recebida por um tempo especificado
throttleTimePassa o primeiro valor e ignora o novo valor pelo tempo especificado
auditTimeEmite o último valor após o tempo especificado
auditEmite o último valor com Observable personalizado para controlar o período
sampleTimeAmostra o valor mais recente em intervalo de tempo especificado
ignoreElementsIgnora todos os valores e passa apenas conclusões/erros
distinctRemove todos os valores duplicados (gera apenas valores únicos)
distinctUntilChangedRemove valores duplicados consecutivos
distinctUntilKeyChangedDetecta apenas mudanças em propriedades específicas de um objeto
Combinação (Pipeable)concatWithJunta outros Observables em sequência após a conclusão
mergeWithCombina vários Observables simultaneamente
combineLatestWithCombina o valor mais recente de cada Observable
zipWithEmparelha valores na ordem correspondente
raceWithAdota apenas o primeiro Observable que dispara
withLatestFromAnexa outros valores mais recentes ao stream principal
mergeAllAchata Higher-order Observables em paralelo
concatAllAchata Higher-order Observable em sequência
switchAllMuda para o Higher-order Observable mais recente
exhaustAllIgnora novo Higher-order Observable durante a execução
combineLatestAllCombina os valores mais recentes de todos os Observables internos
zipAllEmparelha os valores correspondentes de cada Observable interno
UtilitáriostapExecuta efeitos colaterais (ex: saída de log)
finalizeExecuta pós-processamento na conclusão ou erro
delayAtrasa todos os valores por um tempo especificado
delayWhenAtrasa cada valor dinamicamente com um Observable separado
timeoutEmite um erro se um valor não chegar dentro de um tempo especificado
takeUntilRecupera valores até que outro Observable emita um valor
retryTenta novamente até o número especificado de vezes em caso de erro
repeatRepete um número especificado de vezes após a conclusão
startWithAdiciona um valor inicial ao início do stream
toArrayPublica todos os valores juntos em um array
materializeConverte uma notificação em um objeto Notification
dematerializeConverte o objeto Notification de volta para uma notificação normal
observeOnUsa o scheduler para controlar quando os valores são publicados
subscribeOnUsa o scheduler para controlar quando iniciar a inscrição
timestampAdiciona um timestamp a cada valor
CondicionaldefaultIfEmptySe nenhum valor estiver disponível, emite valor padrão
everyDetermina se todos os valores satisfazem a condição
isEmptyDetermina se nenhum valor foi emitido
Tratamento de ErroscatchErrorCaptura erros e executa processamento de fallback
retryTenta novamente um número especificado de vezes em caso de erro
retryWhenTenta novamente com condições personalizadas
MulticastingshareCompartilha Observable entre vários assinantes
shareReplayArmazena em cache os últimos N valores e os reproduz para novos assinantes

Lançado sob a licença CC-BY-4.0.