merge

Crea un Observable de salida que emite concurrentemente los valores de todos los Observables de entrada

Descripción

Une varios Observables en uno solo.

Diagrama de canicas del operador merge

merge se subscribe a cada Observable de entrada de forma concurrente, y emite sus valores, sin transformarlos, en el Observable resultante. El Observable resultante solo se completa cuando todos los Observables de entrada se hayan completado.

Cualquier error lanzado por un Observable de entrada será emitido inmediatamente en el Observable resultante.

Ejemplos

Unir dos Observables ajax

StackBlitz

import { concat } from "rxjs";
import { ajax } from "rxjs/ajax";

const totoroFilmData$ = ajax.getJSON(
  "https://ghibliapi.herokuapp.com/films/58611129-2dbc-4a81-a72f-77ddfc1b1b49"
);

const charmanderData$ = ajax.getJSON("https://pokeapi.co/api/v2/pokemon/4");

concat(totoroFilmData$, charmanderData$).subscribe(console.log);
// Salida: {..., title: 'My Neighbor Totoro', ...}, { abilities: [], ...}

merge se suscribe de forma concurrente (a la vez) a todos los Observables de entrada, mientras que concat se suscribe a ellos por orden, y hasta que el primero no se complete, no se suscribe al siguiente. Comparación entre concat y merge:

StackBlitz

Ejemplos de la documentación oficial

Unir 2 Observables: 1s interval y clicks

Unir 3 Observables, pero solo ejecutar 2 de forma concurrente

Sobrecargas

Firma

merge(v1: any, scheduler: SchedulerLike): Observable<T>

Parámetros

Retorna

Observable<T>

Firma

merge(v1: any, concurrent: number, scheduler: SchedulerLike): Observable<T>

Parámetros

Retorna

Observable<T>

Firma

merge(v1: any, v2: any, scheduler: SchedulerLike): Observable<T | T2>

Parámetros

Retorna

Observable<T | T2>

Firma

merge(v1: any, v2: any, concurrent: number, scheduler: SchedulerLike): Observable<T | T2>

Parámetros

Retorna

Observable<T | T2>

Firma

merge(v1: any, v2: any, v3: any, scheduler: SchedulerLike): Observable<T | T2 | T3>

Parámetros

Retorna

Observable<T | T2 | T3>

Firma

merge(v1: any, v2: any, v3: any, concurrent: number, scheduler: SchedulerLike): Observable<T | T2 | T3>

Parámetros

Retorna

Observable<T | T2 | T3>

Firma

merge(v1: any, v2: any, v3: any, v4: any, scheduler: SchedulerLike): Observable<T | T2 | T3 | T4>

Parámetros

Retorna

Observable<T | T2 | T3 | T4>

Firma

merge(v1: any, v2: any, v3: any, v4: any, concurrent: number, scheduler: SchedulerLike): Observable<T | T2 | T3 | T4>

Parámetros

Retorna

Observable<T | T2 | T3 | T4>

Firma

merge(v1: any, v2: any, v3: any, v4: any, v5: any, scheduler: SchedulerLike): Observable<T | T2 | T3 | T4 | T5>

Parámetros

Retorna

Observable<T | T2 | T3 | T4 | T5>

Firma

merge(v1: any, v2: any, v3: any, v4: any, v5: any, concurrent: number, scheduler: SchedulerLike): Observable<T | T2 | T3 | T4 | T5>

Parámetros

Retorna

Observable<T | T2 | T3 | T4 | T5>

Firma

merge(v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, scheduler: SchedulerLike): Observable<T | T2 | T3 | T4 | T5 | T6>

Parámetros

Retorna

Observable<T | T2 | T3 | T4 | T5 | T6>

Firma

merge(v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, concurrent: number, scheduler: SchedulerLike): Observable<T | T2 | T3 | T4 | T5 | T6>

Parámetros

Retorna

Observable<T | T2 | T3 | T4 | T5 | T6>

Firma

merge(v1: any): Observable<T>

Parámetros

Retorna

Observable<T>

Firma

merge(v1: any, concurrent?: number): Observable<T>

Parámetros

Retorna

Observable<T>

Firma

merge(v1: any, v2: any): Observable<T | T2>

Parámetros

Retorna

Observable<T | T2>

Firma

merge(v1: any, v2: any, concurrent?: number): Observable<T | T2>

Parámetros

Retorna

Observable<T | T2>

Firma

merge(v1: any, v2: any, v3: any): Observable<T | T2 | T3>

Parámetros

Retorna

Observable<T | T2 | T3>

Firma

merge(v1: any, v2: any, v3: any, concurrent?: number): Observable<T | T2 | T3>

Parámetros

Retorna

Observable<T | T2 | T3>

Firma

merge(v1: any, v2: any, v3: any, v4: any): Observable<T | T2 | T3 | T4>

Parámetros

Retorna

Observable<T | T2 | T3 | T4>

Firma

merge(v1: any, v2: any, v3: any, v4: any, concurrent?: number): Observable<T | T2 | T3 | T4>

Parámetros

Retorna

Observable<T | T2 | T3 | T4>

Firma

merge(v1: any, v2: any, v3: any, v4: any, v5: any): Observable<T | T2 | T3 | T4 | T5>

Parámetros

Retorna

Observable<T | T2 | T3 | T4 | T5>

Firma

merge(v1: any, v2: any, v3: any, v4: any, v5: any, concurrent?: number): Observable<T | T2 | T3 | T4 | T5>

Parámetros

Retorna

Observable<T | T2 | T3 | T4 | T5>

Firma

merge(v1: any, v2: any, v3: any, v4: any, v5: any, v6: any): Observable<T | T2 | T3 | T4 | T5 | T6>

Parámetros

Retorna

Observable<T | T2 | T3 | T4 | T5 | T6>

Firma

merge(v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, concurrent?: number): Observable<T | T2 | T3 | T4 | T5 | T6>

Parámetros

Retorna

Observable<T | T2 | T3 | T4 | T5 | T6>

Firma

merge(...observables: any[]): Observable<T>

Parámetros

Retorna

Observable<T>

Firma

merge(...observables: any[]): Observable<T>

Parámetros

Retorna

Observable<T>

Firma

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

Parámetros

Retorna

Observable<R>

Firma

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

Parámetros

Retorna

Observable<R>

Recursos adicionales

Source code

Documentación oficial en inglés

Last updated