Angular
RxJS

📌 L'observable interval()

Utilisez la fonction interval() d'RxJS pour créer un observable qui émet une séquence infinie de nombres à intervalles réguliers.

Démonstration

0
import { Component } from "@angular/core";
import { interval, Subscription } from "rxjs";

@Component({
  selector: "app-root",
  template: `
    <h1>l'observable interval()</h1>
    <button (click)="startTimer()">Démarrer</button>
    <button (click)="stopTimer()">Arrêter</button>
    <button (click)="resetTimer()">Réinitialiser</button>
    <div>Minuterie: {{ time }}</div>
  `
})
export class AppComponent {
  time: number = 0;
  private timerSubscription: Subscription | null = null;

  startTimer() {
    this.stopTimer();
    const timer$ = interval(1000);
    this.timerSubscription = timer$.subscribe((value) => {
      this.time = value;
    });
  }

  stopTimer() {
    if (this.timerSubscription) {
      this.timerSubscription.unsubscribe();
      this.timerSubscription = null;
    }
  }

  resetTimer() {
    this.stopTimer();
    this.time = 0;
  }
}

Résumé rapide sur interval()

La fonction interval() est une fonction d'RxJS utilisée pour créer un observable qui émet une séquence infinie de nombres à intervalles réguliers.

Syntaxe :
interval(delay).subscribe(value => /* votre code ici */)

Par exemple, interval(1000) émettra une valeur toutes les 1000 ms (1 seconde).

  • Crée un observable qui émet une valeur à intervalle régulier, commençant à partir de zéro.
  • Souvent utilisé pour créer des timers ou des flux de données répétitifs à des intervalles fixes.