mergeScan

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

chevron-rightSignaturahashtag

Firma

mergeScan<T, R>(accumulator: (acc: R, value: T, index: number) => any, seed: R, concurrent: number = Number.POSITIVE_INFINITY): OperatorFunction<T, R>

Parámetros

Retorna

OperatorFunction<T, R>: Un Observable de los valores acumulados.

Descripción

Es como scan, pero los Observables retornados por el acumulador se fusionan en el Observable resultante.

Ejemplos

Contar el número de teclas pulsadas

StackBlitzarrow-up-right

import { fromEvent, of } from "rxjs";
import { mapTo, mergeScan } from "rxjs/operators";

const key$ = fromEvent(document, "keydown").pipe(mapTo(1));

key$.pipe(mergeScan((acc, one) => of(acc + one), 0)).subscribe(console.log);
// Salida: (Pulsar tecla) 1, (Pulsar tecla ) 2, (Pulsar tecla) 3...

Acumular el tiempo que esté pulsado el ratón

StackBlitzarrow-up-right

Ejemplo de la documentación oficial

Contar el número de eventos click

Recursos adicionales

Source codearrow-up-right

Documentación oficial en inglésarrow-up-right

Last updated