Middle
Observable და Promise-ის მსგავსებები და განსხვავებები რა არის?
sobes.tech AI
პასუხი AI-სგან
Oxşarlıqlar:
- Asinxron əməliyyatları təmsil edir.
- Nəticəni (həll olunmuş) və xətanı (rədd edilmiş) işləmək üçün funksiyalar istifadə edir.
Fərqlər:
| Xüsusiyyət | Promise | Observable |
|---|---|---|
| Qiymət/tədbir | Bir qiymət və ya xəta qaytarır. | Zamanla 0 və ya daha çox qiymət qaytarır. |
| İmtina | İşə salındıqdan sonra imtina edilə bilməz. | Abunəlik imtina edilə bilər. |
| Çoxlu abunəçilər | Bir dəfəlik icra, abunəçilərdən asılı deyil. | Yeni abunəlik adətən yeni icra ilə nəticələnir (soyuq Observable). |
| Lazımi | Yaradıldıqdan sonra dərhal icra etməyə başlayır. | Yalnız abunəlikdən sonra başlar. |
| Operatorlar | Transformasiya üçün daxili operatorlar yoxdur. | Zəngin operatorlar toplusu (map, filter, merge və s.). |
| İstifadə nümunələri | HTTP sorğuları, gecikdirilmiş əməliyyatlar. | UI hadisələri, WebSocket əlaqələri, intervalar. |
Observable nümunəsi:
import { Observable } from 'rxjs';
const observable = new Observable(subscriber => {
subscriber.next(1);
subscriber.next(2);
setTimeout(() => {
subscriber.next(3);
subscriber.complete();
}, 1000);
});
Promise nümunəsi:
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Məlumatlar alındı');
}, 1000);
});