Skip to content
On this page

Comment utiliser bufferWhen sur RxJS ?

Pour utiliser bufferWhen sur RxJS, vous devez d'abord inclure l'operator bufferWhen à partir de l'objet RxJS operators :

js
import { bufferWhen } from 'rxjs';

Ensuite, vous pouvez utiliser l'operator bufferWhen en le passant à la méthode pipe() d'un observable. L'operator bufferWhen prend une fonction qui renvoie un observable servant de déclencheur pour la création d'un nouveau buffer dans la sequence d'observables.

Voici un exemple d'utilisation de bufferWhen :

js
import { interval, bufferWhen } from 'rxjs';

const source = interval(1000);
const example = source.pipe(bufferWhen(() => interval(3000)));

const subscribe = example.subscribe(val => console.log(val));

Dans cet exemple, nous utilisons interval pour générer une séquence d'événements toutes les secondes. Nous utilisons ensuite bufferWhen pour grouper ces événements en buffers tous les trois secondes, en utilisant un nouvel observable interval de trois secondes pour déclencher la création de chaque buffer.

Le résultat de cet exemple sera une séquence de tableaux, chaque tableau contenant les événements émis au cours des trois secondes précédentes. Par exemple, le premier tableau contiendra les événements émis lors des trois premières secondes, le deuxième tableau contiendra les événements émis lors des trois secondes suivantes, et ainsi de suite.