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é.