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