Skip to content
On this page

Comment utiliser timer en RxJS ?

Pour utiliser un timer en RxJS, vous pouvez utiliser la méthode timer() de l'objet Observable. Cette méthode prend deux arguments: la valeur initiale du compte à rebours et l'intervalle en millisecondes entre chaque incrémentation du compte à rebours. Vous pouvez utiliser cette méthode en combinaison avec d'autres opérateurs RxJS pour créer des Observables personnalisés qui exécutent des actions en fonction du temps écoulé.

Voici un exemple simple qui utilise la méthode timer() pour afficher un message toutes les secondes pendant 10 secondes:

js
import { timer } from 'rxjs';

// Créer un observable qui exécute une action toutes les secondes
const observable = timer(0, 1000);

// Souscrire à l'observable et spécifier les actions à exécuter à chaque intervalle de temps
const subscription = observable.subscribe({
   // La fonction "next" est appelée à chaque intervalle de temps
  next: (value) => console.log(`Timer émis avec la valeur ${value}`),
  // La fonction "error" est appelée si l'observable émet une erreur
  error: (error) => console.error(error),
  // La fonction "complete" est appelée une fois que le compte à rebours est terminé
  complete: () => console.log('Compte à rebours terminé!')
);

// Après 10 secondes, annuler la souscription pour arrêter l'exécution de l'observable
setTimeout(() => subscription.unsubscribe(), 10000);

Dans cet exemple, l'observable émet une valeur toutes les secondes pendant 10 secondes, en commençant par 0. À chaque intervalle de temps, la valeur émise est affichée dans la console. Lorsque le compte à rebours est terminé, un message est affiché dans la console pour indiquer que la souscription est complète.