Sobes.tech
Middle

Quelles sont les similitudes et différences entre Observable et Promise?

sobes.tech IA

Réponse de l'IA

Similarités:

  • Représentent des opérations asynchrones.
  • Utilisent des fonctions pour traiter le résultat (résolu) et l'erreur (rejetée).

Différences:

Caractéristique Promise Observable
Valeur/événement Renvoie une valeur ou une erreur. Renvoie 0 ou plusieurs valeurs au fil du temps.
Annulation Impossible d'annuler après le démarrage. La souscription peut être annulée.
Multiples abonnés Exécution unique indépendamment des abonnés. Une nouvelle souscription entraîne généralement une nouvelle exécution (Observable à froid).
Lazy Commence à s'exécuter immédiatement après sa création. Ne commence à s'exécuter qu'après la souscription.
Opérateurs Pas d'opérateurs intégrés pour la transformation. Dispose d'une riche gamme d'opérateurs (map, filter, merge, etc.).
Exemples d'utilisation Requêtes HTTP, actions différées. Événements UI, connexions WebSocket, intervalles.

Exemple d'Observable:

import { Observable } from 'rxjs';

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

Exemple de Promise:

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Données reçues');
  }, 1000);
});