bufferTime
Acumula valores del Observable fuente durante un periodo de tiempo
Descripción
Almacena valores en un array, y emite esos arrays periódicamente en el tiempo.
Acumula valores de la fuente durante un periodo de tiempo determinado por bufferTimeSpan
. Si no se proporciona el argumento opcional bufferCreationInterval
, se emitirá y reseteará el búfer cada bufferTimeSpan
milisegundos. En el caso de que sí se proporcione, bufferTime
abrirá y el búfer cada bufferCreationInterval
milisegundos y lo cerrará (emitiendo y reseteándolo) cada bufferTimeSpan
milisegundos. Cuando se proporcione el argumento opcional maxBufferSize
, el búfer se cerrará o cada buffertimeSpan
milisegundos o cuando alcance el tamaño especificado por maxBufferSize
.
Ejemplos
Almacenar valores en un array durante un periodo de 5 segundos y emitir el array
import { bufferTime } from "rxjs/operators";
import { interval } from "rxjs";
const number$ = interval(1000);
number$.pipe(bufferTime(5000)).subscribe(console.log);
// Salida: [0, 1, 2, 3], [4, 5, 6, 7, 8]...
Ejemplos de la documentación oficial
Cada segundo, emitir un array de eventos click
import { fromEvent } from "rxjs";
import { bufferTime } from "rxjs/operators";
const clicks = fromEvent(document, "click");
const buffered = clicks.pipe(bufferTime(1000));
buffered.subscribe((x) => console.log(x));
Cada 5 segundos, emitir los eventos click de los siguientes 2 segundos
import { fromEvent } from "rxjs";
import { bufferTime } from "rxjs/operators";
const clicks = fromEvent(document, "click");
const buffered = clicks.pipe(bufferTime(2000, 5000));
buffered.subscribe((x) => console.log(x));
Recursos adicionales
Last updated