buffer

Almacena los valores del Observable en un búfer hasta que otro Observable emita

chevron-rightSignaturahashtag

Firma

buffer<T>(closingNotifier: Observable<any>): OperatorFunction<T, T[]>

Parámetros

Retorna

OperatorFunction<T, T[]>: Un Observable de búferes, que son arrays de valores.

Descripción

Acumula valores en un array, y emite dicho array cuando un segundo Observable emita.

Diagrama de canicas del operador buffer

Almacena los valores del Observable fuente en un búfer hasta que el Observable closingNotifier emita un valor, en cuyo momento se emite el búfer en el Observable resultante, y se abre un búfer nuevo internamente, esperando a la próxima emisión de closingNotifier.

Ejemplos

Con cada tecla pulsada, emitir el array de los números emitidos desde la última tecla pulsada

StackBlitzarrow-up-right

import { buffer } from "rxjs/operators";
import { interval, fromEvent } from "rxjs";

const number$ = interval(1000);
const key$ = fromEvent(document, "keydown");

number$.pipe(buffer(key$)).subscribe(console.log);
// Salida: (tecla pulsada) [0, 1, 2, 3] (tecla pulsada) [4, 5]

Emitir los clicks hechos en un intervalo de 5 segundos

Si no se hace ningún click en el intervalo, no se emitirá nada.

StackBlitzarrow-up-right

Ejemplos de la documentación oficial

Emite el array de eventos almacenados en cada click

Recursos adicionales

Source codearrow-up-right

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

Last updated