51. Introduction à la programmation réactive et à RxJS
RxJS (Reactive Extensions for JavaScript) est une bibliothèque pour composer des programmes asynchrones et basés sur des événements à l'aide d' Observables. Elle est fondamentale pour la gestion des opérations asynchrones par Angular (HTTP, routage, événements).
Qu'est-ce que la programmation réactive ?
La programmation réactive consiste à traiter des flux de données asynchrones. Tout est un flux : clics utilisateur, réponses serveur, événements de timer, changements de propriétés.
Analogy : Pensez au motif Observer étendu au temps.
- Observable : Le producteur de données (le flux).
- Observer : Le consommateur qui définit les gestionnaires pour les valeurs reçues (
next), les erreurs (error) et la complétion (complete). - Subscription : L'exécution de l'Observable, liant l'Observable à l'Observer.
Pourquoi RxJS dans Angular ?
- Uniformité : Fournit un moyen unique et cohérent de gérer toutes les opérations asynchrones.
- Immuabilité : Les opérations (opérateurs) ne modifient pas le flux lui-même mais renvoient un nouveau flux transformé.
- Composition puissante : RxJS fournit des centaines d'opérateurs (
map,filter,merge) pour composer facilement une logique asynchrone complexe.
Résumé des concepts clés
| Concept | Description |
|---|---|
| Observable | Une source qui émet plusieurs valeurs au fil du temps. |
| Observer | Un objet avec des méthodes next, error, complete. |
| Subscription | Le résultat de l'appel à subscribe(). Démarre l'exécution et permet le nettoyage. |
| Operators | Fonctions pures qui transforment un Observable en un autre (ex : filter). |
Dans les leçons suivantes, nous explorerons concrètement comment les Observables diffèrent des Promises et comment utiliser les opérateurs clés.