bufferWhen

Almacena valores y utiliza una función factoría de Observables para determinar cuándo cerrar, emitir y reiniciar el búfer

chevron-rightSignaturahashtag

Firma

bufferWhen<T>(closingSelector: () => Observable<any>): OperatorFunction<T, T[]>

Parámetros

Retorna

OperatorFunction<T, T[]>: Un Observable de arrays de valores almacenados.

Descripción

Almacena valores en un array. Cuando comienza a almacenar valores, llama a una función que retorna un Observable que indica cuándo cerrar el búfer actual y abrir uno nuevo, para seguir almacenando valores.

Diagrama de canicas del operador bufferWhen

Abre un búfer de forma inmediata, que cierra cuando el Observable retornado por la función closingSelector emite un valor. En cuanto se cierra un búfer, se abre uno nuevo y se repite el proceso.

Ejemplos

Almacenar valores durante periodos de 4 segundos

StackBlitzarrow-up-right

import { bufferWhen } from "rxjs/operators";
import { interval } from "rxjs";

const number$ = interval(1000);

number$.pipe(bufferWhen(() => interval(4000))).subscribe(console.log);
// Salida: [0, 1, 2], [3, 4, 5, 6], [7, 8, 9, 10]...

Almacenar valores hasta que se haga click

StackBlitzarrow-up-right

Ejemplos de la documentación oficial

Emite un array de clicks cada [1-5] segundos

Recursos adicionales

Source codearrow-up-right

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

Last updated