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

switchAll

Convierte un Observable de orden superior en uno de primer orden, produciendo valores únicamente de la secuencia Observable más reciente

Signatura

Firma

switchAll<T>(): OperatorFunction<ObservableInput<T>, T>

Parámetros

No recibe ningún parámetro.

Retorna

OperatorFunction<ObservableInput<T>, T>

Descripción

Convierte un Observable de orden superior en uno de primer orden.

Diagrama de canicas del operador switchAll

switchAll se suscribe a un Observable de Observables, también conocido como un "Observable de orden superior" (o Observable<Observable<T>>.) Se suscribe al 'Observable interno' emitido por la fuente más reciente, cancelando la suscripción al Observable interno anterior, de manera que únicamente puede haber una suscripción a un Observable interno: al más reciente. El Observable resultante retornado por switchAll solo se completa si el Observable fuente se completa, y si el Observable interno suscrito también se completa.

Ejemplos

Ejemplo de la documentación oficial

Generar un Observable intervalo nuevo con cada click

Con cada nuevo click, el intervalo anterior se cancela y el nuevo intervalo es suscrito.

import { fromEvent, interval } from "rxjs";
import { switchAll, map, tap } from "rxjs/operators";

const clicks = fromEvent(document, "click").pipe(
  tap(() => console.log("click"))
);
const source = clicks.pipe(map((ev) => interval(1000)));

source.pipe(switchAll()).subscribe((x) => console.log(x));

// Salida: (click) 1, 2, 3, 4... (click) 1, 2, 3... (click) ...

Recursos adicionales

Source code

Documentación oficial en inglés

Last updated