Skip to content

Entendiendo los Operadores

Los operadores de RxJS son un conjunto de funciones para transformar, componer y controlar flujos de datos Observable.

Los operadores se suelen usar en combinación con varios otros, y aquí es donde entra en juego el "pipeline".

En RxJS, los operadores se dividen en las siguientes categorías

Lista de categorías

Cada categoría contiene varios operadores útiles. Consulta cada categoría para más detalles.

Lista de Operadores

Para una descripción detallada de cada operador, haz clic en el enlace correspondiente.

Lista de categorías de Operadores
CategoríaOperadorDescripción
TransformaciónmapConvierte cada valor
scanAcumula valores y emite resultados intermedios
reduceAcumula todos los valores y emite solo el resultado final
pairwiseProcesa dos valores consecutivos en pares
groupByAgrupa flujos por clave
mergeMapEjecución paralela de procesamiento asíncrono
switchMapEjecuta solo el procesamiento asíncrono más reciente (cancela procesamiento anterior)
concatMapEjecuta procesos asíncronos secuencialmente
exhaustMapIgnora nuevos procesos durante la ejecución
expandExpande resultados recursivamente
bufferPublica valores en un array
bufferTimePublica valores en intervalos de tiempo especificados
bufferCountPublica valores en lotes de un número especificado
bufferWhenBuffering con condiciones de finalización controladas dinámicamente
bufferToggleBuffering con control independiente de inicio y fin
FiltradofilterSolo deja pasar valores que coincidan con la condición
takeObtiene solo los primeros N valores
takeLastObtiene los últimos N valores
takeWhileObtiene valores mientras se cumple la condición
skipOmite los primeros N valores
skipLastOmite los últimos N valores
skipWhileOmite valores mientras se satisface la condición
skipUntilOmite valores hasta que otro Observable emita
firstObtiene el primer valor o el primer valor que satisface una condición
lastObtiene el último valor o el último valor que satisface la condición
elementAtObtiene el valor en un índice dado
findEncuentra el primer valor que satisface una condición
findIndexObtiene el índice del primer valor que satisface la condición
debounceTimeEmite el último valor si no se recibe entrada durante un tiempo especificado
throttleTimeDeja pasar el primer valor e ignora nuevos valores durante el tiempo especificado
auditTimeEmite el último valor después del tiempo especificado
auditEmite el último valor con Observable personalizado para controlar el período
sampleTimeMuestrea el último valor en intervalos de tiempo especificados
ignoreElementsIgnora todos los valores y solo deja pasar completados/errores
distinctElimina todos los valores duplicados (emite solo valores únicos)
distinctUntilChangedElimina valores duplicados consecutivos
distinctUntilKeyChangedDetecta solo cambios en propiedades específicas de un objeto
Combinación (Pipeable)concatWithUne otros Observables en secuencia después de completar
mergeWithCombina múltiples Observables simultáneamente
combineLatestWithCombina el último valor de cada Observable
zipWithEmpareja valores en orden correspondiente
raceWithAdopta solo el primer Observable que emite
withLatestFromAñade otros últimos valores al flujo principal
mergeAllAplana Higher-order Observables en paralelo
concatAllAplana Higher-order Observable en secuencia
switchAllCambia al último Higher-order Observable
exhaustAllIgnora nuevo Higher-order Observable durante la ejecución
combineLatestAllCombina los últimos valores de todos los Observables internos
zipAllEmpareja los valores correspondientes de cada Observable interno
UtilidadtapRealiza efectos secundarios (ej. salida de log)
finalizeRealiza post-procesamiento al completar o con error
delayRetrasa todos los valores por un tiempo especificado
delayWhenRetrasa cada valor dinámicamente con un Observable separado
timeoutEmite un error si un valor no llega dentro de un tiempo especificado
takeUntilRecupera valores hasta que otro Observable emite un valor
retryReintenta hasta un número especificado de veces en caso de error
repeatRepite un número especificado de veces después de completar
startWithAñade un valor inicial al comienzo del flujo
toArrayPublica todos los valores juntos en un array
materializeConvierte una notificación a un objeto Notification
dematerializeConvierte el objeto Notification de vuelta a una notificación normal
observeOnUsa el scheduler para controlar cuándo se publican los valores
subscribeOnUsa el scheduler para controlar cuándo iniciar la suscripción
timestampAñade una marca de tiempo a cada valor
CondicionalesdefaultIfEmptySi no hay valor disponible, emite valor por defecto
everyDetermina si todos los valores satisfacen la condición
isEmptyDetermina si no se emitió ningún valor
Manejo de ErrorescatchErrorCaptura errores y realiza procesamiento de respaldo
retryReintenta un número especificado de veces en caso de error
retryWhenReintenta con condiciones personalizadas
MulticastingshareComparte Observable entre múltiples suscriptores
shareReplayCachea los últimos N valores y los reproduce para nuevos suscriptores

Publicado bajo licencia CC-BY-4.0.