RxJS - Tampon d'opérateur de transformation

Le tampon fonctionne sur une observable et prend en argument comme observable. Il commencera à mettre en mémoire tampon les valeurs émises sur son observable d'origine dans un tableau et émettra la même chose lorsque l'observable prise comme argument émettra. Une fois que l'observable pris comme arguments émet, le tampon est réinitialisé et recommence à mettre en mémoire tampon sur l'original jusqu'à ce que l'observable d'entrée émette et que le même scénario se répète.

Syntaxe

buffer(input_observable: Observable): Observable

Paramètres

input_observable- une observable qui fera émettre des valeurs au tampon. Par exemple, cliquez sur un bouton.

Valeur de retour

Un observable sera retourné, qui aura un tableau de valeurs tamponnées. Nous allons travailler sur un exemple pour comprendre le fonctionnement de l'opérateur buffer ().

Dans l'exemple ci-dessous, nous allons utiliser un clic de bouton comme entrée observable dans la mémoire tampon. L'intervalle de 1s sera celui d'origine observable sur quel tampon est appelé. Le tampon collectera les clics passés dans l'intervalle de temps donné.

Exemple

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));

Production