Skip to content
On this page

Comment utiliser buffer en RxJS ?

Pour utiliser buffer en RxJS, vous devez d'abord importer l'operator buffer depuis l'objet rxjs. Ensuite, vous pouvez l'utiliser en appelant la méthode buffer sur un observable et en lui fournissant les paramètres appropriés pour spécifier comment vous souhaitez que les données soient regroupées en buffers.

Voici un exemple simple qui montre comment utiliser buffer pour regrouper les éléments d'un observable en buffers de taille 3 :

js
import { of, buffer } from 'rxjs';

const source = of(1, 2, 3, 4, 5);
const buffer$ = source.pipe(buffer(3));

buffer$.subscribe(val => console.log(val));

// Output:
// [1, 2, 3]
// [4, 5]

Dans cet exemple, nous créons un observable source en utilisant la fonction of de RxJS, qui prend en argument une liste de valeurs qui seront émises l'une après l'autre par l'observable. Nous créons ensuite un nouvel observable en appelant la méthode pipe sur source et en y passant l'opérateur buffer en tant qu'argument. L'opérateur buffer prend en argument un entier qui spécifie la taille des buffers que vous souhaitez créer.

Dans cet exemple, nous avons spécifié une taille de buffer de 3, ce qui signifie que l'observable buffer$ émettra des valeurs qui sont des tableaux contenant chacun 3 éléments de l'observable source. Comme l'observable source émet 5 éléments, l'observable buffer$ émettra deux valeurs : un tableau contenant les éléments 1, 2 et 3, et un tableau contenant les éléments 4 et 5.

Il existe de nombreuses autres façons d'utiliser l'opérateur buffer en fonction de vos besoins spécifiques. Vous pouvez par exemple utiliser un autre observable ou un timer pour déterminer quand un buffer doit être émis, ou encore utiliser des fonctions de projection pour transformer les données avant qu'elles ne soient regroupées en buffers. Pour en savoir plus sur l'utilisation de buffer en RxJS, je vous invite à consulter la documentation officielle.