Middle
Observable ve Promise arasındaki benzerlikler ve farklar nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Observable, zaman içinde birden çok değeri yayabilen bir veri akışını temsil eder. Reaktif olup aboneliğin iptal edilmesini destekler. Promise her zaman yalnızca bir kez çözülür veya reddedilir ve tek kullanımlıktır. Observable, veriyi dönüştürmek için operatörleri destekler, Promise desteklemez.
| Özellik | Observable | Promise |
|---|---|---|
| Değer sayısı | Birden çok değer yayabilir | Her zaman tek değer (resolve/reject) |
| İptal | Aboneliğin iptalini destekler | İptali desteklemez |
| Reaktivite | Reaktif | Hayır |
| Operatörler | Operatörleri destekler (map, filter, vb.) | Hayır |
| Tembellik | Tembel (abonelik sırasında çalışır) | Açgözlü (hemen çalışır) |
Örnek 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 değeri:', value),
error: err => console.error('Observable hatası:', err),
complete: () => console.log('Observable tamamlandı'),
});
Örnek Promise:
const myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise çözüldü');
// reject('Promise reddedildi');
}, 1000);
});
myPromise
.then(value => console.log('Promise değeri:', value))
.catch(error => console.error('Promise hatası:', error));