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);
});