Middle
Observable nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Observable — asenkron olarak değerler yayabilen bir veri akışıdır. Promislerin aksine, yalnızca bir değer döndüren yerine, observable zaman içinde sıfır, bir veya birden fazla değer yayabilir.
Ana özellikler:
- Tembel: Akış, yalnızca abone olunduğunda başlar.
- İptal edilebilir: Akıştan çıkış yapabilir, böylece yürütmeyi durdurabilir ve kaynakları serbest bırakabilirsiniz.
- Birden fazla değer: Birden fazla değer yayabilir, oysa promiselar yalnızca bir kez çözülür.
Ana bileşenler:
- Observable: Veri akışının kendisi.
- Observer:
next,errorvecompletemetodlarına sahip nesne, gözlemlenen tarafından çağrılır. - Subscription: Observable'a abone olmanın sonucu, abonelikten çıkmayı sağlar.
- Operatörler: Observable'ı dönüştüren veya birleştiren fonksiyonlar (
map,filter,mergegibi).
Kullanım örneği (RxJS):
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
const source = of(1, 2, 3); // 1, 2, 3'ü yayacak observable oluşturuyoruz
const example = source.pipe(map(x => x + 1)); // map operatörünü uyguluyoruz
const subscription = example.subscribe({ // observable'a abone oluyoruz
next: value => console.log(`Next: ${value}`), // Her değeri işler
error: err => console.error(`Error: ${err}`), // Hata işlemi
complete: () => console.log('Complete!') // Akış tamamlandığında çağrılır
});
// çıktı:
// Next: 2
// Next: 3
// Next: 4
// Complete!
// subscription.unsubscribe(); // Abonelik iptal edilebilir