RxJS: búfer de operador de transformación

Este operador dará los valores en forma de matriz, toma un argumento como una función que decidirá cuándo cerrar, emitir y restablecer el búfer.

Sintaxis

bufferWhen(closing_func: Observable): Observable

Parámetros

closing_func - Una función que devuelve un cierre de búfer que indica Observable.

Valor devuelto

Se devolverá un observable, que tendrá una matriz de valores almacenados en búfer.

Ejemplo

Aquí hay un ejemplo funcional de bufferWhen -

import { fromEvent, interval} from 'rxjs';
import { bufferWhen } from 'rxjs/operators';

let btn = document.getElementById("btnclick");
let btn_clicks = fromEvent(btn, 'click');
let buffered_array = btn_clicks.pipe(bufferWhen(() => interval(5000)));
buffered_array.subscribe(arr => console.log(arr));

por bufferWhenle hemos dado una función que se ejecuta en un intervalo de 5 segundos. Por lo tanto, después de cada 5 segundos, generará todos los clics registrados y se reiniciará y comenzará de nuevo.

Salida