Sobes.tech
Middle

Ի՞նչ են Observable և Promise-ի նմանությունները և տարբերությունները։

sobes.tech AI

Պատասխան AI-ից

Համապատասխանություններ.

  • Ներկայացնում են ասինխրոնային գործողություններ:
  • Օգտագործում են ֆունկցիաներ արդյունքը (լուծված) և սխալը (մերժված) մշակելու համար:

Տարբերություններ:

Գծանշում Promise Observable
Արժեք/միջոցառում Վերադարձնում է մեկ արժեք կամ սխալ: Վերադարձնում է 0 կամ ավելի արժեքներ ժամանակի ընթացքում:
Չեղարկում Չի կարող չեղարկվել գործարկումից հետո: Կարող է չեղարկվել գրանցմամբ:
Բազմաթիվ գրանցումներ Միայնակ կատարում անկախ գրանցումներից: Նոր գրանցումը սովորաբար հանգեցնում է նոր կատարումի (մառմռան Observable):
Կուշտություն Թույլատրվում է անմիջապես ստեղծելուց հետո: Սկսում է գործել միայն գրանցումից հետո:
Օպերատորներ Չունի ներմուծված օպերատորներ փոխակերպման համար: Ունի հարուստ օպերատորների հավաքածու (map, filter, merge և այլն):
Օգտագործման օրինակներ HTTP հարցումներ, հետաձգված գործողություններ: UI իրադարձություններ, WebSocket կապեր, միջակայքեր:

Օրինակ Observable:

import { Observable } from 'rxjs';

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

Օրինակ Promise:

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Տվյալները ստացվել են');
  }, 1000);
});