Sobes.tech
Middle

Qu'est-ce qu'un observable?

sobes.tech IA

Réponse de l'IA

Observable — c'est un flux de données qui peut émettre des valeurs de manière asynchrone. Contrairement aux promesses, qui renvoient une seule valeur, un observable peut émettre zéro, une ou plusieurs valeurs au fil du temps.

Caractéristiques clés:

  • Lent: Le flux ne commence à fonctionner qu'après abonnement.
  • Annulables: On peut se désabonner du flux pour arrêter son exécution et libérer les ressources.
  • Plusieurs valeurs: Peut émettre plusieurs valeurs, alors que les promesses se résolvent une seule fois.

Composants principaux:

  • Observable: Le flux de données lui-même.
  • Observer: Objet avec les méthodes next, error et complete, appelées par l'observable.
  • Subscription: Résultat de l'abonnement à un observable, permet de se désabonner.
  • Operators: Fonctions qui transforment ou combinent des observables (par exemple, map, filter, merge).

Exemple d'utilisation (RxJS):

import { of } from 'rxjs';
import { map } from 'rxjs/operators';

const source = of(1, 2, 3); // Créons un observable qui émet 1, 2, 3

const example = source.pipe(map(x => x + 1)); // Appliquons l'opérateur map

const subscription = example.subscribe({ // Abonnons-nous à l'observable
  next: value => console.log(`Next: ${value}`), // Traitement de chaque valeur
  error: err => console.error(`Error: ${err}`), // Traitement des erreurs
  complete: () => console.log('Complete!') // Appelé à la fin du flux
});

// sortie:
// Next: 2
// Next: 3
// Next: 4
// Complete!

// subscription.unsubscribe(); // On peut se désabonner