For the complete documentation index, see llms.txt. This page is also available as Markdown.

combineAll

Convierte un Observable de orden superior en uno de primer orden aplicando combineLatest cuando el Observable de orden superior se completa

Signatura

Firma

combineAll<T, R>(project?: (...values: any[]) => R): OperatorFunction<T, R>

Parámetros

Retorna

OperatorFunction<T, R>

Descripción

Diagrama de canicas del operador combineAll

combineAll recibe un Observable de Observables y recoge todos los Observables que contenga. Una vez que el Observable externo se haya completado, se suscribe a todos los Observables recogidos y combina sus valores mediante la estrategia combineLatest, de manera que:

  • Cada vez que un Observable interno emite, el Observable resultante emite.

  • Cuando el Observable retornado emite, emite todos los valores recientes de manera que:

    • Si se proporciona una función project, se llama a dicha función con cada valor de cada Observable interno en el orden en el que llegaron, y el resultado de la función de proyección es lo que se emite en el Observable resultante.

    • Si no se proporciona una función project, el Observable resultante emite un array de todos los valores recientes.

Ejemplos

combineAll espera a recibir todos los valores, y los combina en un array

StackBlitz

import { of } from "rxjs";
import { ajax } from "rxjs/ajax";
import { map, delay, combineAll } from "rxjs/operators";

const pokemonId$ = of(1, 5, 6);

function getPokemonName(id: number) {
  return ajax.getJSON(`https://pokeapi.co/api/v2/pokemon/${id}`).pipe(
    map(({ name }) => name),
    delay(2000)
  );
}

pokemonId$
  .pipe(
    map((id) => getPokemonName(id)),
    combineAll()
  )
  .subscribe(console.log);
// Salida: (2s) ['bulbasaur', 'charmeleon', 'charizard']

Ejemplo de la documentación oficial

Proyectar dos eventos click sobre un Observable intervalo, y aplicar combineAll

Sobrecargas

Firma

combineAll(): OperatorFunction<ObservableInput<T>, T[]>

Parámetros

No recibe ningún parámetro.

Retorna

OperatorFunction<ObservableInput<T>, T[]>

Firma

combineAll(): OperatorFunction<any, T[]>

Parámetros

No recibe ningún parámetro.

Retorna

OperatorFunction<any, T[]>

Firma

combineAll(project: (...values: T[]) => R): OperatorFunction<ObservableInput<T>, R>

Parámetros

Retorna

OperatorFunction<ObservableInput<T>, R>

Firma

combineAll(project: (...values: any[]) => R): OperatorFunction<any, R>

Parámetros

Retorna

OperatorFunction<any, R>

Recursos adicionales

Source code

Documentación oficial en inglés

Last updated