Sobes.tech
Middle

Observable жана Promise ортосундагы окшоштуктар жана айырмачылыктар эмнелер?

sobes.tech AI

AIден жооп

Observable — бул убакыттын өтүшү менен көптөгөн маанилерди чыгара алган маалымат агымы. Ал реактивдүү жана жазылууну жокко чыгара алат. Promise ар дайым бир жолу гана чечилет же четке кагылат жана бир жолу колдонулат. Observable маалыматтарды түрмөктөштүрүү үчүн операторлорду колдойт, Promise — колдобойт.

Өзгөчөлүк Observable Promise
Маанилердин саны Көп маанилерди чыгара алат Ар дайым бир мааниде (resolve/reject)
Жазылууну жокко чыгарыш Жазылууну жокко чыгара алат Жокко чыгара албайт
Реактивдүүлүк Реактивдүү Жок
Операторлор Операторлорду колдойт (map, filter жана башка) Жок
Ленивдик Ленив (жазылуу менен ишке ашат) Тез (жана дароо ишке ашат)

Мисал — Observable:

import { Observable } from 'rxjs';

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

myObservable.subscribe({
  next: value => console.log('Observable мааниси:', value),
  error: err => console.error('Observable катасы:', err),
  complete: () => console.log('Observable аяктады'),
});

Мисал — Promise:

const myPromise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Promise чечилди');
    // reject('Promise четке кагылды');
  }, 1000);
});

myPromise
  .then(value => console.log('Promise мааниси:', value))
  .catch(error => console.error('Promise катасы:', error));