Skip to content
On this page

Comment utiliser windowWhen sur RxJS ?

windowWhen est une opération de fenêtre qui permet de diviser un flux de données en sous-flux en fonction d'un observateur retourné par une fonction de projection fournie. Vous pouvez utiliser windowWhen en combinaison avec d'autres opérateurs RxJS pour traiter les données dans ces sous-flux de manière séquentielle ou en parallèle.

Voici un exemple simple d'utilisation de windowWhen pour diviser un flux de nombres entiers en fenêtres de 10 éléments :

javascript
import { of, windowWhen } from 'rxjs'

const source = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);

const example = source.pipe(
  windowWhen(() => of(10)), // chaque fenêtre contiendra 10 éléments
);

// imprimer les sous-flux
const subscribe = example.subscribe((val) => {
  val.subscribe((innerVal) => {
    console.log(innerVal);
  });
});

// le résultat sera :
// 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
// 11, 12, 13, 14, 15

Dans cet exemple, windowWhen utilise une fonction de projection qui retourne toujours un flux contenant la valeur 10. Cela signifie que chaque fenêtre créée par windowWhen contiendra 10 éléments. Vous pouvez également utiliser une fonction de projection plus complexe pour créer des fenêtres basées sur des critères plus sophistiqués.

En général, windowWhen peut être utile lorsque vous avez besoin de diviser un flux de données en plusieurs sous-flux pour une meilleure gestion ou un traitement plus efficace. Si vous avez des questions sur l'utilisation de windowWhen ou d'autres opérateurs RxJS, n'hésitez pas à demander.