Skip to content
On this page

C'est quoi un observer sur RxJS ?

Un "observer" dans ce contexte est un objet qui permet de suivre et de réagir aux événements qui se produisent dans un flux de données. L'observer peut être abonné à un Observable, qui est une source de données asynchrones, et peut recevoir les valeurs émises par l'observable et exécuter des actions en réponse à ces valeurs. L'utilisation d'observers avec des observables permet de construire des applications réactives qui peuvent gérer efficacement des données en temps réel.

ts
import { Observable } from 'rxjs'

const observable = new Observable(subscriber => {
  subscriber.next(1);
  subscriber.next(2);
  subscriber.next(3);
  setTimeout(() => {
    subscriber.next(4);
    subscriber.complete();
  }, 1000);
});

const observer = {
  next(x) { console.log(x); },
  complete() { console.log('Fin de l\'observable'); }
}

console.log('Début de l\'observable');
observable.subscribe(observer);
console.log('Fin du script');

Dans cet exemple, l'observable envoie les valeurs 1, 2 et 3 dès que l'observer s'abonne à l'observable, puis envoie la valeur 4 après un délai d'une seconde avant de se terminer. L'observer affiche chaque valeur reçue dans la console et affiche un message lorsque l'observable se termine.