Middle
Observable ve Promise arasındaki benzerlikler ve farklar nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Benzerlikler:
- Asenkron işlemleri temsil ederler.
- Sonucu (resolved) ve hatayı (rejected) işlemek için fonksiyonlar kullanırlar.
Farklar:
| Özellik | Promise | Observable |
|---|---|---|
| Değer/olay | Bir değer veya hata döner. | Zaman içinde 0 veya daha fazla değer döner. |
| İptal | Başlatıldıktan sonra iptal edilemez. | Abonelik iptal edilebilir. |
| Çoklu aboneler | Abonelerden bağımsız tek seferlik yürütme. | Yeni abonelik genellikle yeni yürütmeye yol açar (soğuk Observable). |
| Tembellik | Oluşturulduktan sonra hemen yürütmeye başlar. | Abonelik sonrası başlar. |
| Operatörler | Dönüşüm için yerleşik operatörleri yoktur. | Zengin operatör setine sahiptir (map, filter, merge vb.). |
| Kullanım örnekleri | HTTP istekleri, ertelenmiş işlemler. | UI olayları, WebSocket bağlantıları, aralıklar. |
Observable örneği:
import { Observable } from 'rxjs';
const observable = new Observable(subscriber => {
subscriber.next(1);
subscriber.next(2);
setTimeout(() => {
subscriber.next(3);
subscriber.complete();
}, 1000);
});
Promise örneği:
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Veriler alındı');
}, 1000);
});