Sobes.tech
Middle

Aké sú podobnosti a rozdiely medzi Observable a Promise?

sobes.tech AI

Odpoveď od AI

Podobnosti:

  • Predstavujú asynchrónne operácie.
  • Používajú funkcie na spracovanie výsledku (riešeného) a chyby (zamietnutej).

Rozdiely:

Vlastnosť Promise Observable
Hodnota/udalosť Vráti jednu hodnotu alebo chybu. Vráti 0 alebo viac hodnôt v čase.
Zrušenie Nemôže byť zrušené po spustení. Môže byť zrušené odberom.
Viacerí odberatelia Jednorazové vykonanie nezávislé od odberateľov. Nový odber zvyčajne vedie k novému vykonaniu (studený Observable).
Lenivosť Začína ihneď po vytvorení. Začne až po odberu.
Operátory Nemá zabudované operátory na transformáciu. Má bohatý súbor operátorov (map, filter, merge atď.).
Príklady použitia HTTP požiadavky, odložené akcie. UI udalosti, WebSocket spojenia, intervaly.

Príklad Observable:

import { Observable } from 'rxjs';

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

Príklad Promise:

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Dáta prijaté');
  }, 1000);
});