> For the complete documentation index, see [llms.txt](https://www.rxjs.es/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.rxjs.es/operadores.md).

# Operadores

- [Combinación](https://www.rxjs.es/operadores/combination.md)
- [combineAll](https://www.rxjs.es/operadores/combination/combineall.md): Convierte un Observable de orden superior en uno de primer orden aplicando combineLatest cuando el Observable de orden superior se completa
- [combineLatest](https://www.rxjs.es/operadores/combination/combinelatest.md): Combina varios Observables para crear otro Observable cuyos valores se calculan a partir de las emisiones más recientes de cada uno de sus Observables de entrada
- [concat](https://www.rxjs.es/operadores/combination/concat.md): Concatena varios Observables de entrada, uno tras otro, emitiendo secuencialmente todos los valores de cada uno de ellos
- [concatAll](https://www.rxjs.es/operadores/combination/concatall.md): Convierte un Observable de orden superior en uno de primer orden concatenando los Observables internos en orden
- [exhaust](https://www.rxjs.es/operadores/combination/exhaust.md): Convierte un Observable de orden superior en uno de primer orden ignorando los Observables internos mientras el Observable interno actual no se haya completado
- [forkJoin](https://www.rxjs.es/operadores/combination/forkjoin.md): Acepta un Array de Observables o un diccionario de Observables, y retorna otro Observable que emite o bien un array de valores en el mismo orden que el array proporcionado, o un diccionario de valores
- [merge](https://www.rxjs.es/operadores/combination/merge.md): Crea un Observable de salida que emite concurrentemente los valores de todos los Observables de entrada
- [mergeAll](https://www.rxjs.es/operadores/combination/mergeall.md): Convierte un Observable de orden superior en uno de primer orden que emite las emisiones de los Observables internos de forma concurrente
- [race](https://www.rxjs.es/operadores/combination/race.md): Retorna un Observable que refleja al primer Observable que emita un valor
- [startWith](https://www.rxjs.es/operadores/combination/startwith.md): Emite los elementos que se especifiquen como argumentos antes de empezar a emitir las emisiones del Observable fuente
- [switchAll](https://www.rxjs.es/operadores/combination/switchall.md): Convierte un Observable de orden superior en uno de primer orden, produciendo valores únicamente de la secuencia Observable más reciente
- [withLatestFrom](https://www.rxjs.es/operadores/combination/withlatestfrom.md): Combina el Observable fuente con otros Observables para crear un Observable cuyas emisiones se calculan a partir de los valores más recientes de cada uno, cada vez que la fuente emite
- [zip](https://www.rxjs.es/operadores/combination/zip.md): Combina varios Observables para crear otro Observable cuyos valores se calculen a partir de las emisiones, en orden, de cada uno de sus Observables de entrada
- [Condicional](https://www.rxjs.es/operadores/conditional.md)
- [defaultIfEmpty](https://www.rxjs.es/operadores/conditional/defaultifempty.md): Emite el valor proporcionado si el Observable fuente se completa sin emitir ningún valor. Si no, refleja al Observable fuente
- [every](https://www.rxjs.es/operadores/conditional/every.md): Retorna un Observable que emite un valor booleano que determina si todas las emisiones de la fuente cumplen o no una condición
- [find](https://www.rxjs.es/operadores/conditional/find.md): Emite únicamente el primer elemento emitido por el Observable fuente que cumpla una condición
- [findIndex](https://www.rxjs.es/operadores/conditional/findindex.md): Emite el índice del primer valor emitido por el Observable fuente que cumple una determinada condición
- [isEmpty](https://www.rxjs.es/operadores/conditional/isempty.md): Emite false si el Observable emite cualquier valor, o emite true si el Observable se completa sin emitir ningún valor
- [sequenceEqual](https://www.rxjs.es/operadores/conditional/sequenceequal.md): Compara secuencialmente las emisiones de 2 Observables utilizando una función de comparación y retorna un Observable que emite un solo valor booleano indicando si las dos secuencias son o no iguales
- [Creación](https://www.rxjs.es/operadores/creation.md)
- [ajax](https://www.rxjs.es/operadores/creation/ajax.md): Crea un Observable para una petición Ajax
- [defer](https://www.rxjs.es/operadores/creation/defer.md): Crea un Observable que, al ser suscrito, llama a una factoría Observable para crear otro Observable nuevo por cada suscriptor
- [from](https://www.rxjs.es/operadores/creation/from.md): Crea un Observable a partir de un Array, un objeto similar a un Array, una Promesa, un objeto iterable o un objeto similar a un Observable
- [fromEvent](https://www.rxjs.es/operadores/creation/fromevent.md): Crea un Observable que emite eventos de un tipo específico, originados en el event target proporcionado
- [fromEventPattern](https://www.rxjs.es/operadores/creation/fromeventpattern.md): Crea un Observable a partir de una API arbitraria de registro de manejadores de eventos
- [fromFetch](https://www.rxjs.es/operadores/creation/fromfetch.md): Utiliza la API Fetch para hacer una petición HTTP
- [generate](https://www.rxjs.es/operadores/creation/generate.md): Genera un Observable ejecutando un bucle impulsado por el estado que emite un elemento en cada iteración
- [iif](https://www.rxjs.es/operadores/creation/iif.md): Decide qué Observable será suscrito en tiempo de suscripción
- [interval](https://www.rxjs.es/operadores/creation/interval.md): Crea un Observable que emite una secuencia de números, con el intervalo de tiempo entre emisiones que se especifique
- [of](https://www.rxjs.es/operadores/creation/of.md): Convierte los argumentos en una secuencia Observable
- [range](https://www.rxjs.es/operadores/creation/range.md): Crea un Observable que emite una secuencia de números dentro de un rango
- [throwError](https://www.rxjs.es/operadores/creation/throwerror.md): Crea un Observable que solo emite una notificación de error
- [timer](https://www.rxjs.es/operadores/creation/timer.md): Crea un Observable que comienza a emitir una secuencia ascendente de números consecutivos a intervalos, tras un periodo inicial de tiempo
- [Gestión de Errores](https://www.rxjs.es/operadores/error-handling.md)
- [catchError](https://www.rxjs.es/operadores/error-handling/catcherror.md): Captura errores en el Observable que se manejan devolviendo un Observable nuevo o lanzando un error
- [retry](https://www.rxjs.es/operadores/error-handling/retry.md): Reintenta una secuencia Observable un número determinado de veces en el caso de que ocurra un error
- [retryWhen](https://www.rxjs.es/operadores/error-handling/retrywhen.md): Reintenta una secuencia Observable cuando ocurre un error
- [Filtración](https://www.rxjs.es/operadores/filtering.md)
- [audit](https://www.rxjs.es/operadores/filtering/audit.md): Ignora los valores emitidos por la fuente durante un periodo de tiempo cuya duración está determinada por un segundo Observable. Pasado este tiempo, emite el valor más reciente y repite el proceso
- [auditTime](https://www.rxjs.es/operadores/filtering/audittime.md): Ignora los valores de la fuente durante un periodo de tiempo, tras el cual emite el valor más reciente del Observable fuente
- [debounce](https://www.rxjs.es/operadores/filtering/debounce.md): Emite un valor del Observable fuente si, y solo si, pasa un periodo de tiempo determinado por otro Observable sin que el Observable fuente emita ningún valor
- [debounceTime](https://www.rxjs.es/operadores/filtering/debouncetime.md): Emite un valor del Observable fuente si, y solo si, pasa un periodo de tiempo determinado sin que este emita ningún valor
- [distinct](https://www.rxjs.es/operadores/filtering/distinct.md): Retorna un Observable que emite todos los elementos del Observable fuente que sean distintos a los elementos anteriores
- [distinctUntilChanged](https://www.rxjs.es/operadores/filtering/distinctuntilchanged.md): Retorna un Observable que emite todos los elementos emitidos por el Observable fuente que sean distintos al valor anterior
- [distinctUntilKeyChanged](https://www.rxjs.es/operadores/filtering/distinctuntilkeychanged.md): Retorna un Observable que emite los elementos del Observable fuente cuya propiedad especificada sea distinta a la del elemento anterior
- [elementAt](https://www.rxjs.es/operadores/filtering/elementat.md): Emite el valor que esté en la índice especificado en la secuencia de emisiones del Observable fuente
- [filter](https://www.rxjs.es/operadores/filtering/filter.md): Filtra elementos emitidos por el Observable fuente, emitiendo únicamente aquellos que cumplan una condición
- [first](https://www.rxjs.es/operadores/filtering/first.md): Emite el primer valor (o el primer valor que cumpla una condición) emitido por el Observable fuente
- [ignoreElements](https://www.rxjs.es/operadores/filtering/ignoreelements.md): Ignora todos los elementos emitidos por el Observable fuente, propagando únicamente las llamadas a complete o a error
- [last](https://www.rxjs.es/operadores/filtering/last.md): Emite el último valor (o el último valor que cumpla una condición) del el Observable fuente
- [sample](https://www.rxjs.es/operadores/filtering/sample.md): Emite la emisión más reciente del Observable fuente cuando un segundo Observable, el notificador, emite un valor
- [sampleTime](https://www.rxjs.es/operadores/filtering/sampletime.md): Emite la emisión más reciente del Observable fuente en cada periodo de tiempo determinado
- [single](https://www.rxjs.es/operadores/filtering/single.md): Emite si solo existe un único valor que cumpla la condición
- [skip](https://www.rxjs.es/operadores/filtering/skip.md): Retorna un Observable que se salta las primeras x emisiones del Observable fuente
- [skipLast](https://www.rxjs.es/operadores/filtering/skiplast.md): Saltar las últimas x emisiones del Observable fuente
- [skipUntil](https://www.rxjs.es/operadores/filtering/skipuntil.md): Retorna un Observable que se salta los valores emitidos por el Observable fuente hasta que un segundo Observable emite un valor
- [skipWhile](https://www.rxjs.es/operadores/filtering/skipwhile.md): Se salta las emisiones del Observable fuente hasta que una condición deje de cumplirse
- [take](https://www.rxjs.es/operadores/filtering/take.md): Emite las primeras x emisiones del Observable fuente
- [takeLast](https://www.rxjs.es/operadores/filtering/takelast.md): Emite las últimas x emisiones del Observable fuente
- [takeUntil](https://www.rxjs.es/operadores/filtering/takeuntil.md): Emite los valores emitidos por el Observable fuente hasta que un segundo Observable emita un valor
- [takeWhile](https://www.rxjs.es/operadores/filtering/takewhile.md): Emite las emisiones del Observable fuente siempre y hasta cuando cumplan la condición especificada. Se completa en cuanto haya un valor que no cumpla la condición
- [throttle](https://www.rxjs.es/operadores/filtering/throttle.md): Emite un valor del Observable fuente e ignora las emisiones siguientes durante un tiempo determinado por un segundo Observable. Después, repite el proceso
- [throttleTime](https://www.rxjs.es/operadores/filtering/throttletime.md): Emite un valor del Observable fuente e ignora las emisiones siguientes durante un periodo de tiempo determinado. Después, repite el proceso
- [Matemáticos y Agregación](https://www.rxjs.es/operadores/mathematical-aggregate.md)
- [count](https://www.rxjs.es/operadores/mathematical-aggregate/count.md): Cuenta el número de emisiones de la fuente y emite el resultado cuando la fuente se completa
- [max](https://www.rxjs.es/operadores/mathematical-aggregate/max.md): Emite el elemento de mayor valor
- [min](https://www.rxjs.es/operadores/mathematical-aggregate/min.md): Emite el elemento de menor valor
- [reduce](https://www.rxjs.es/operadores/mathematical-aggregate/reduce.md): Aplica una función acumuladora al Observable fuente y retorna el resultado acumulado una vez se completa la fuente
- [Multidifusión](https://www.rxjs.es/operadores/multicasting.md)
- [connect](https://www.rxjs.es/operadores/multicasting/connect.md): Crea un Observable al multidifundir el Observable fuente dentro de una función que permite al desarrollador definir el uso del multicast tras la conexión
- [multicast](https://www.rxjs.es/operadores/multicasting/multicast.md): Comparte el Observable fuente utilizando un Sujeto
- [publish](https://www.rxjs.es/operadores/multicasting/publish.md): Retorna un ConnectableObservable, que es un Observable que espera a que se haga una llamada a su método \`connect\` antes de empezar a emitir valores a sus Observadores
- [publishBehavior](https://www.rxjs.es/operadores/multicasting/publishbehavior.md): Comparte el Observable fuente, permitiendo proporcionar un valor por defecto
- [publishLast](https://www.rxjs.es/operadores/multicasting/publishlast.md): Comparte el Observable fuente, emitiendo únicamente el último valor emitido a los observadores
- [publishReplay](https://www.rxjs.es/operadores/multicasting/publishreplay.md): Comparte el Observable fuente, permitiendo que los observadores que se suscriban tarde puedan recibir los valores que se hayan emitido anteriormente
- [refCount](https://www.rxjs.es/operadores/multicasting/refcount.md): Hace que un ConnectableObservable se comporte como un Obesrvable normal, y automatiza la forma de conectarse a él
- [share](https://www.rxjs.es/operadores/multicasting/share.md): Comparte el Observable fuente entre varios suscriptores
- [shareReplay](https://www.rxjs.es/operadores/multicasting/sharereplay.md): Comparte el Observable fuente entre varios suscriptores, repitiendo las últimas n emisiones con cada suscripción
- [Transformación](https://www.rxjs.es/operadores/transformation.md)
- [buffer](https://www.rxjs.es/operadores/transformation/buffer.md): Almacena los valores del Observable en un búfer hasta que otro Observable emita
- [bufferCount](https://www.rxjs.es/operadores/transformation/buffercount.md): Almacena los valores del Observable en un búfer hasta que este alcanza el tamaño máximo indicado
- [bufferTime](https://www.rxjs.es/operadores/transformation/buffertime.md): Acumula valores del Observable fuente durante un periodo de tiempo
- [bufferToggle](https://www.rxjs.es/operadores/transformation/buffertoggle.md): Acumula valores del Observable fuente a partir de una emisión de openings en un búfer, que se cierra cuando el Observable retornado por la función closingSelector emite
- [bufferWhen](https://www.rxjs.es/operadores/transformation/bufferwhen.md): Almacena valores y utiliza una función factoría de Observables para determinar cuándo cerrar, emitir y reiniciar el búfer
- [concatMap](https://www.rxjs.es/operadores/transformation/concatmap.md): Proyecta cada valor emitido por la fuente a un Observable interno que se une al Observable resultante secuencialmente, esperando a que cada Observable interno esté completo antes de unir el siguiente
- [concatMapTo](https://www.rxjs.es/operadores/transformation/concatmapto.md): Proyecta cada valor emitido por la fuente al mismo Observable interno, que se une al Observable resultante de forma secuencial
- [exhaust](https://www.rxjs.es/operadores/transformation/exhaust.md): Convierte un Observable de orden superior a uno de primer orden ignorando los Observables internos mientras el Observable interno actual no se haya completado
- [exhaustMap](https://www.rxjs.es/operadores/transformation/exhaustmap.md): Proyecta cada emisión de la fuente a un Observable interno que se fusiona con el Observable resultante únicamente si el Observable interno anterior se ha completado
- [expand](https://www.rxjs.es/operadores/transformation/expand.md): Proyecta recursivamente cada valor de la fuente a un Observable que se fusiona con el Observable resultante
- [groupBy](https://www.rxjs.es/operadores/transformation/groupby.md): Agrupa los elementos emitidos por un Observable según un criterio especificado, y emite estas agrupaciones como GroupedObservables, con un GroupedObservable por cada grupo
- [map](https://www.rxjs.es/operadores/transformation/map.md): Aplica una función de proyección a cada valor emitido por el Observable fuente, y emite los valores resultantes como un Observable
- [mapTo](https://www.rxjs.es/operadores/transformation/mapto.md): Emite el mismo valor cada vez que el Observable fuente emite un valor
- [mergeMap](https://www.rxjs.es/operadores/transformation/mergemap.md): Proyecta cada valor emitido por la fuente a un Observable que se fusiona en el Observable resultante
- [mergeMapTo](https://www.rxjs.es/operadores/transformation/mergemapto.md): Proyecta cada valor emitido por la fuente al mismo Observable, que se fusiona con el Observable resultante
- [mergeScan](https://www.rxjs.es/operadores/transformation/mergescan.md): Aplica una función de acumulación al Observable fuente donde la propia función de acumulación retorna un Observable. Cada Observable interno retornado se fusiona con el Observable resultante
- [pairwise](https://www.rxjs.es/operadores/transformation/pairwise.md): Agrupa las emisiones consecutivas en pares y las emite en forma de array
- [partition](https://www.rxjs.es/operadores/transformation/partition.md): Divide el Observable fuente en dos, uno con los valores que cumplen una condición, y otro con los valores que no la cumplan
- [pluck](https://www.rxjs.es/operadores/transformation/pluck.md): Extrae propiedadas de un objeto
- [scan](https://www.rxjs.es/operadores/transformation/scan.md): Aplica una función acumuladora a los valores del Observable fuente y retorna cada resultado inmediato
- [switchMap](https://www.rxjs.es/operadores/transformation/switchmap.md): Proyecta cada emisión de la fuente a un Observable que se une al Observable resultante, emitiendo únicamente los valores de Observable proyectado más reciente
- [switchMapTo](https://www.rxjs.es/operadores/transformation/switchmapto.md): Proyecta cada valor de la fuente al mismo Observable interno, posteriormente usando switchMap para unirlos al Observable resultante
- [window](https://www.rxjs.es/operadores/transformation/window.md): Acumula valores del Observable fuente en un Observable anidado (ventana), abriendo una ventana nueva cada vez que un segundo Observable emita
- [windowCount](https://www.rxjs.es/operadores/transformation/windowcount.md): Acumula valores del Observable fuente en un Observable anidado (ventana), que contiene como mucho un número determinado de valores
- [windowTime](https://www.rxjs.es/operadores/transformation/windowtime.md): Acumula valores del Observable fuente en un Observable anidado (ventana) periódicamente
- [windowToggle](https://www.rxjs.es/operadores/transformation/windowtoggle.md): Acumula valores del Observable fuente en un Observable anidado (ventana). Cada ventana se abre cuando un 2º Observable emite, y se cierra cuando un 3er Observable retornado por una función emite
- [windowWhen](https://www.rxjs.es/operadores/transformation/windowwhen.md): Acumula valores del Observable fuente en un Observable anidado (ventana), utilizando una función factoría de Observables para determinar cuándo abrir una nueva ventana
- [Utilidad](https://www.rxjs.es/operadores/utility.md)
- [delay](https://www.rxjs.es/operadores/utility/delay.md): Retrasa la emisión de los elementos del Observable fuente en un tiempo determinado o hasta una fecha determinada
- [delayWhen](https://www.rxjs.es/operadores/utility/delaywhen.md): Retrasa la emisión de los elementos del Observable fuente en función de las emisiones de un segundo Observable
- [dematerialize](https://www.rxjs.es/operadores/utility/dematerialize.md): Convierte un Observable de objetos Notification en las emisiones que representan
- [finalize](https://www.rxjs.es/operadores/utility/finalize.md): Retorna un Observable que refleja el Observable fuente, pero que llamará a una función determinada tras la terminación de la fuente, en complete o en error
- [materialize](https://www.rxjs.es/operadores/utility/materialize.md): Representa todas las notificaciones next del Observable fuente como emisiones marcadas con sus tipos originales, dentro de objetos Notification
- [observeOn](https://www.rxjs.es/operadores/utility/observeon.md): Reemite todas las notificaciones del Observable fuente con el planificador especificado
- [repeat](https://www.rxjs.es/operadores/utility/repeat.md): Retorna un Observable que se resuscribe count veces al flujo fuente cuando el Observable fuente se completa
- [repeatWhen](https://www.rxjs.es/operadores/utility/repeatwhen.md): Repite o no una secuencia Observable en función de un Observable de notificaciones
- [subscribeOn](https://www.rxjs.es/operadores/utility/subscribeon.md): Suscribe a los Observadores asíncronamente al Observable fuente en función del SchedulerLike especificado
- [tap](https://www.rxjs.es/operadores/utility/tap.md): Lleva a cabo un efecto colateral en cada emisión del Observable fuente, pero retorna un Observable que es idéntico a la fuente
- [timeInterval](https://www.rxjs.es/operadores/utility/timeinterval.md): Convierte un Observable que emite elementos en uno que emite indicaciones de la cantidad de tiempo transcurrida entre emisiones
- [timeout](https://www.rxjs.es/operadores/utility/timeout.md): Lanza un error si el Observable no emite ningún valor antes de que transcurra un intervalo de tiempo
- [timeoutWith](https://www.rxjs.es/operadores/utility/timeoutwith.md): Ocurre un error si el Observable no emite ningún valor antes de que transcurra un intervalo de tiempo, en cuyo caso se suscribe al segundo Observable
- [timestamp](https://www.rxjs.es/operadores/utility/timestamp.md): Adjunta un timestamp a cada elemento emitido por el Observable, indicando el momento en el que fue emitido
- [toArray](https://www.rxjs.es/operadores/utility/toarray.md): Recoge todas las emisiones del Observable fuente y las emite en un array cuando este se complete
