RxJS - Tampon de l'opérateur de transformation

Cet opérateur donnera les valeurs sous forme de tableau, il prend un argument comme fonction qui décidera quand fermer, émettre et réinitialiser le tampon.

Syntaxe

bufferWhen(closing_func: Observable): Observable

Paramètres

closing_func - Une fonction qui renvoie un Observable indiquant la fermeture du tampon.

Valeur de retour

Un observable sera retourné, qui aura un tableau de valeurs tamponnées.

Exemple

Voici un exemple fonctionnel 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));

Pour bufferWhennous avons donné une fonction qui s'exécute à un intervalle de 5 secondes. Ainsi, toutes les 5 secondes, il produira tous les clics enregistrés et sera réinitialisé et redémarré.

Production