Sobes.tech
Middle

Observable va Promise o'rtasidagi o'xshashliklar va farqlar nima?

sobes.tech AI

AIdan javob

O'xshashliklar:

  • Asinxron operatsiyalarni ifodalaydi.
  • Natija (resolved) va xatolik (rejected) uchun funksiyalarni ishlatadi.

Farqlar:

Xususiyat Promise Observable
Qiymat/hodisə Bir qiymat yoki xatolikni qaytaradi. Vaqt o'tishi bilan 0 yoki ko'proq qiymatlarni qaytaradi.
Bekor qilish Ishga tushirilgandan so'ng bekor qilish mumkin emas. Obuna bekor qilinishi mumkin.
Ko'p obunachilar Obunachilardan mustaqil bir martalik bajariladi. Yangi obuna odatda yangi bajarilishga olib keladi (sovuq Observable).
Laziness Yaratilgandan keyin darhol bajarila boshlaydi. Obuna bo'lgandan keyin boshlanadi.
Operatorlar Transformatsiya uchun ichki operatorlar mavjud emas. Boy operatorlar to'plamiga ega (map, filter, merge va boshqalar).
Foydalanish misollari HTTP so'rovlar, kechiktirilgan harakatlar. UI voqealari, WebSocket ulanishlari, intervallar.

Observable misoli:

import { Observable } from 'rxjs';

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

Promise misoli:

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Ma`lumotlar olindi');
  }, 1000);
});