RxJS: búfer de operador de transformación

El búfer opera sobre un observable y toma un argumento como un observable. Comenzará a almacenar en búfer los valores emitidos en su observable original en una matriz y emitirá lo mismo cuando el observable tomado como argumento emite. Una vez que el observable tomado como argumentos emite, el búfer se restablece y comienza a almacenar nuevamente en el original hasta que el observable de entrada emite y se repite el mismo escenario.

Sintaxis

buffer(input_observable: Observable): Observable

Parámetros

input_observable- un observable que hará que el búfer emita valores. Por ejemplo, haga clic en el botón.

Valor devuelto

Se devolverá un observable, que tendrá una matriz de valores almacenados en búfer. Trabajaremos en un ejemplo para comprender el funcionamiento del operador buffer ().

En el siguiente ejemplo, usaremos un clic en un botón como entrada observable para almacenar en búfer. El intervalo de 1s será el observable original en el que se llama al búfer. El búfer recopilará los clics pasados ​​en el intervalo de tiempo indicado.

Ejemplo

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

let btn = document.getElementById("btnclick");

let btn_clicks = fromEvent(btn, 'click');
let interval_events = interval(1000);
let buffered_array = interval_events.pipe(buffer(btn_clicks));
buffered_array.subscribe(arr => console.log(arr));

Salida