Appearance
Comment utiliser windowTime sur RxJS ?
Pour utiliser l'opérateur windowTime
dans RxJS, vous devez d'abord importer l'opérateur en utilisant l'instruction import
suivante:
js
import { windowTime } from 'rxjs';
Ensuite, vous pouvez utiliser l'opérateur en le passant en tant qu'opérateur intermédiaire dans la chaîne de traitement des données de votre observable. L'opérateur windowTime
prend un argument qui définit la durée en temps que doit couvrir chaque fenêtre. Par exemple, si vous souhaitez diviser les éléments de votre observable en fenêtres de 10 secondes, vous pouvez utiliser l'opérateur de la manière suivante:
js
source.pipe(
windowTime(10000),
)
Notez que windowTime
retourne un observable de fenêtres, et non pas un observable de valeurs individuelles. Chaque fenêtre est elle-même un observable qui émet des valeurs à mesure qu'elles arrivent dans la fenêtre temporelle spécifiée. Pour traiter les valeurs émises par les fenêtres, vous pouvez utiliser un opérateur comme mergeAll
ou concatAll
pour regrouper les valeurs de chaque fenêtre dans un observable principal.
Voici un exemple complet montrant comment utiliser windowTime
pour diviser un observable en fenêtres temporelles de 10 secondes et traiter les valeurs émises par chaque fenêtre:
js
import { interval, windowTime, mergeAll } from 'rxjs';
const source = interval(1000);
const result = source.pipe(
windowTime(10000),
mergeAll(),
);
result.subscribe(x => console.log(x));
Dans cet exemple, nous utilisons interval
pour créer un observable qui émet une valeur toutes les secondes. Nous utilisons ensuite windowTime
pour diviser ces valeurs en fenêtres de 10 secondes. Enfin, nous utilisons mergeAll
pour regrouper les valeurs émises par chaque fenêtre dans un observable principal, que nous pouvons ensuite souscrire pour afficher les valeurs émises.