Sobes.tech
Middle

Wat zijn de overeenkomsten en verschillen tussen Observable en Promise?

sobes.tech AI

Antwoord van AI

Gelijkenissen:

  • Stellen asynchrone operaties voor.
  • Gebruiken functies om het resultaat (opgelost) en de fout (afgewezen) te verwerken.

Verschillen:

Kenmerk Promise Observable
Waarde/gebeurtenis Geeft één waarde of een fout terug. Geeft 0 of meer waarden in de loop van de tijd terug.
Annulering Kan niet worden geannuleerd nadat het is gestart. Kan worden geannuleerd door op te abonneren.
Meerdere abonnees Eenmalige uitvoering onafhankelijk van abonnees. Een nieuwe abonnement leidt meestal tot een nieuwe uitvoering (koud Observable).
Luiheid Begint onmiddellijk na creatie uit te voeren. Begint pas na abonnement uit te voeren.
Operators Heeft geen ingebouwde operators voor transformatie. Heeft een rijke set operators (map, filter, merge, etc.).
Gebruik voorbeelden HTTP-verzoeken, uitgestelde acties. UI-gebeurtenissen, WebSocket-verbindingen, intervallen.

Voorbeeld Observable:

import { Observable } from 'rxjs';

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

Voorbeeld Promise:

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Gegevens ontvangen');
  }, 1000);
});