concat

Concatena varios Observables de entrada, uno tras otro, emitiendo secuencialmente todos los valores de cada uno de ellos

💡 Para emitir valores de varios Observables a la vez (concurrentemente), se puede utilizar merge

Firma

concat<O extends ObservableInput<any>, R>(...observables: (SchedulerLike | O)[]): Observable<ObservedValueOf<O> | R>

Parámetros

observables

Tipo: (SchedulerLike | O)[].

Retorna

Observable<ObservedValueOf<O> | R>: Todos los valores de cada Observable de entrada fusionados en un solo Observable, por orden.

Descripción

Concatena varios Observables, uno tras otro, emitiendo secuencialmente sus valores.

Diagrama de canicas del operador concat

concat une varios Observables, suscribiéndose a ellos de uno en uno y fusionando los valores que emitan en el Observable resultante. Los Observables de entrada se pueden proporcionar en un array, o directamente como argumentos. Proporcionarle un array vacío a concat resulta en un Observable que se completa inmediatamente.

concat se suscribe al primer Observable de entrada y emite todos sus valores intactos, sin cambiarlos ni transformarlos. Cuando ese primer Observable se completa, se suscribe al siguiente Observable y, de nuevo, emite todos sus valores. Este proceso se repite hasta que el operador agote todos los Observables de entrada. Cuando el último Observable de entrada se complete, concat también se completará. concat emite los valores de un solo Observable cada vez.

concat es el equivalente a utilizar el operador merge con el parámetro de concurrencia 1.

Si alguno de los Observables de entrada nunca llega a completarse, concat tampoco se completará y los demás Observables de entrada nunca llegarán a ser suscritos. Por otra parte, si alguno de los Observables de entrada se completa inmediatamente después de ser suscrito, será invisible para concat, que se suscribirá al siguiente Observable.

Si alguno de los Observables de entrada lanza un error, en lugar de suscribirse al siguiente Observable, concat también lanzará un error inmediatamente, y no llegará a suscribirse a los Observables de entrada siguientes al que haya lanzado el error.

Si se le pasa el mismo Observable a concat varias veces, su flujo de emisiones se repetirá en cada suscripción. Se puede repetir un Observable tantas veces como se quiera. Sin embargo, si pasarle el mismo Observable a concat 1000 veces resulta demasiado tedioso, siempre se puede utilizar repeat.

Ejemplos

Concatenar varios Observables distintos

StackBlitz

Concatenar el mismo Observable para repetirlo

StackBlitz

Si uno de los Observables de entrada nunca llega a completarse, concat nunca se suscribirá a los siguientes Observables de entrada

StackBlitz

Si alguno de los Observables de entrada lanza un error, el Observable resultante lanzará un error inmediatamente, y el flujo se terminará

StackBlitz

Ejemplos de la documentación oficial

Concatenar un temporizador que cuente del 0 al 3 con una secuencia síncrona de los números del 1 al 10

Concatenar 3 Observables

Concatenar el mismo Observable para repetirlo

Sobrecargas

Firma

concat(v1: O1, scheduler: SchedulerLike): Observable<ObservedValueOf<O1>>

Parámetros

Retorna

Observable<ObservedValueOf<O1>>

Firma

concat(v1: O1, v2: O2, scheduler: SchedulerLike): Observable<ObservedValueOf<O1> | ObservedValueOf<O2>>

Parámetros

Retorna

Observable<ObservedValueOf<O1> | ObservedValueOf<O2>>

Firma

concat(v1: O1, v2: O2, v3: O3, scheduler: SchedulerLike): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3>>

Parámetros

Retorna

Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3>>

Firma

concat(v1: O1, v2: O2, v3: O3, v4: O4, scheduler: SchedulerLike): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4>>

Parámetros

Retorna

Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4>>

Firma

concat(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5, scheduler: SchedulerLike): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5>>

Parámetros

Retorna

Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5>>

Firma

concat(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5, v6: O6, scheduler: SchedulerLike): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5> | ObservedValueOf<O6>>

Parámetros

Retorna

Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5> | ObservedValueOf<O6>>

Firma

concat(v1: O1): Observable<ObservedValueOf<O1>>

Parámetros

Retorna

Observable<ObservedValueOf<O1>>

Firma

concat(v1: O1, v2: O2): Observable<ObservedValueOf<O1> | ObservedValueOf<O2>>

Parámetros

Retorna

Observable<ObservedValueOf<O1> | ObservedValueOf<O2>>

Firma

concat(v1: O1, v2: O2, v3: O3): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3>>

Parámetros

Retorna

Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3>>

Firma

concat(v1: O1, v2: O2, v3: O3, v4: O4): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4>>

Parámetros

Retorna

Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4>>

Firma

concat(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5>>

Parámetros

Retorna

Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5>>

Firma

concat(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5, v6: O6): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5> | ObservedValueOf<O6>>

Parámetros

Retorna

Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5> | ObservedValueOf<O6>>

Firma

concat(...observables: O[]): Observable<ObservedValueOf<O>>

Parámetros

Retorna

Observable<ObservedValueOf<O>>

Firma

concat(...observables: (SchedulerLike | O)[]): Observable<ObservedValueOf<O>>

Parámetros

Retorna

Observable<ObservedValueOf<O>>

Firma

concat(...observables: any[]): Observable<R>

Parámetros

Retorna

Observable<R>

Firma

concat(...observables: any[]): Observable<R>

Parámetros

Retorna

Observable<R>

Recursos adicionales

Source code

Documentación oficial en inglés

Last updated