Sobes.tech
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, error ve complete metodları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, merge gibi).

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