# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.rxjs.es/operadores.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
