Middle
Observable və Promise arasındakı oxşarlıqlar və fərqlər nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Observable, zaman ərzində çoxsaylı dəyərlər yaymağa qadirdir. O, reaktivdir və abunəliyin ləğv edilməsini dəstəkləyir. Promise hər zaman yalnız bir dəfə həll olunur və ya rədd edilir və tək istifadəlikdir. Observable məlumatların çevrilməsi üçün operatorları dəstəkləyir, Promise isə etməz.
| Xüsusiyyətlər | Observable | Promise |
|---|---|---|
| Dəyərlərin sayı | Çoxsaylı dəyərlər yayabilir | Həmişə bir dəyər (resolve/reject) |
| Ləğv etmək | Abunəliyin ləğvini dəstəkləyir | Ləğv etməyi dəstəkləmir |
| Reaktivlik | Reaktiv | Yox |
| Operatorlar | Operatorları dəstəkləyir (map, filter və s.) | Yox |
| Tələskənlik | Tələskən (abunə olunduqda işləyir) | Dərhal işləyir |
Observable nümunəsi:
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 dəyəri:', value),
error: err => console.error('Observable xətası:', err),
complete: () => console.log('Observable tamamlandı'),
});
Promise nümunəsi:
const myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise həll olundu');
// reject('Promise rədd edildi');
}, 1000);
});
myPromise
.then(value => console.log('Promise dəyəri:', value))
.catch(error => console.error('Promise xətası:', error));