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,erroretcomplete, 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