Skip to content
On this page

Comment utiliser bufferCount en RxJS ?

bufferCount est une opération dans RxJS qui permet de regrouper les éléments émis par un observable dans des tableaux de longueur spécifiée. Par exemple, si vous avez un observable qui émet des nombres et que vous utilisez bufferCount avec une valeur de 3, les trois premiers nombres émis par l'observable seront regroupés dans un tableau, puis les trois suivants dans un autre tableau, et ainsi de suite.

Voici comment utiliser bufferCount dans un programme RxJS :

js
import { from, bufferCount } from 'rxjs';

const source = from([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
const buffered = source.pipe(bufferCount(3));

buffered.subscribe(val => console.log(val));

Dans cet exemple, nous importons bufferCount depuis l'objet operators de RxJS. Ensuite, nous créons un observable à partir d'un tableau de nombres et utilisons l'opération bufferCount avec une valeur de 3 pour regrouper les éléments émis par l'observable dans des tableaux de longueur 3. Enfin, nous souscrivons à l'observable buffered pour afficher les tableaux générés.

Si vous exécutez ce code, vous devriez voir les tableaux suivants s'afficher dans la console :

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
[10]

Vous pouvez également utiliser bufferCount avec un second argument, qui spécifie le nombre d'éléments à sauter entre chaque groupe d'éléments. Par exemple, si vous utilisez bufferCount avec une valeur de 3 pour le premier argument et une valeur de 2 pour le second argument, les éléments seront regroupés comme suit :

[1, 2, 3]
[3, 4, 5]
[5, 6, 7]
[7, 8, 9]
[9, 10]

En résumé, bufferCount est une opération utile dans RxJS pour regrouper les éléments émis par un observable dans des tableaux de longueur spécifiée. Vous pouvez utiliser cette opération pour traiter les données de différentes manières en fonction de la longueur des tableaux générés.