Takip et

RxJS’te First ve Last Operatörleri: Başlangıç Rehberi

RxJS’te First ve Last Operatörleri: Başlangıç Rehberi

Merhaba! Ben Fatih Soysal ve bu yazımda RxJS’in temel ama oldukça kullanışlı iki operatörünü, first ve last operatörlerini ele alacağız. Bu operatörler, bir Observable’dan yayılan değerlerden sadece ilki veya sonuncusunu almanıza olanak tanır. Özellikle belirli bir koşulu karşılayan ilk veya son değeri yakalamak istediğinizde oldukça pratiktirler.

First Operatörü

first operatörü, bir Observable’dan yayılan ilk değeri alır ve Observable’ı tamamlar. Eğer Observable hiç değer yaymazsa veya belirtilen bir koşula uyan bir değer yaymazsa, bir hata fırlatır. İşte basit bir kullanım örneği:


import { of, throwError } from 'rxjs';
import { first } from 'rxjs/operators';

of(1, 2, 3, 4, 5).pipe(
  first()
).subscribe(x => console.log(x), err => console.error(err)); // 1 yazdırır

Bu örnekte, of operatörü ile bir Observable oluşturuyoruz. Daha sonra first operatörü ile ilk değeri (1) alıyoruz ve console’a yazdırıyoruz. Ancak, Observable boşsa, first bir hata fırlatacaktır. Bu durumu kontrol altına almak için, first operatörünün ikinci parametresi olan default değerini kullanabiliriz. Bu parametre, Observable boşsa veya koşula uyan bir değer yoksa döndürülecek bir değer belirler:


of().pipe(first(undefined, 0)).subscribe(x => console.log(x)); // 0 yazdırır

Burada, boş bir Observable’a first operatörünü uyguluyoruz ve varsayılan değer olarak 0’ı belirtiyoruz. Sonuç olarak, 0 konsola yazdırılır. Ayrıca first, bir predicate fonksiyonu da alabilir. Bu fonksiyon, her yayılan değerin belirli bir koşulu karşılayıp karşılamadığını kontrol eder. Sadece koşulu karşılayan ilk değer alınır:


of(1, 2, 3, 4, 5).pipe(
  first(x => x > 2)
).subscribe(x => console.log(x)); // 3 yazdırır

Last Operatörü

last operatörü ise, bir Observable’dan yayılan son değeri alır ve Observable’ı tamamlar. first operatörünün aksine, Observable’ın boş olması durumunda bir hata fırlatır. Varsayılan değer belirtme seçeneği de last operatöründe mevcuttur. Örnek olarak:


of(1, 2, 3, 4, 5).pipe(
  last()
).subscribe(x => console.log(x)); // 5 yazdırır

of().pipe(last(0)).subscribe(x => console.log(x)); // 0 yazdırır

Bu örnekte, last operatörü son değeri (5) alıyor. Boş bir Observable içinse, 0 varsayılan değeri döndürülüyor. last operatörü de, first operatöründe olduğu gibi, bir predicate fonksiyonu kabul edebilir.

Sonuç

Hem first hem de last operatörleri, özellikle belirli koşulları karşılayan ilk veya son değeri almak istediğinizde oldukça faydalıdır. Bu operatörleri kullanarak kodunuzu daha temiz ve okunaklı hale getirebilirsiniz. RxJS öğrenme yolculuğunuzda bu operatörlerin size yardımcı olacağına eminim. Daha fazla RxJS örneği ve açıklaması için fatihsoysal.com sitesini ziyaret edebilirsiniz. Ayrıca, RxJS dökümantasyonuna buradan ulaşabilirsiniz.

İpucu: first ve last operatörlerini kullanırken, Observable’ınızın boş olma ihtimalini her zaman göz önünde bulundurmanız ve uygun hata yönetimi mekanizmaları kullanmanız önemlidir.

#Etiketler: #RxJS, #first, #last, #operatör, #reactiveprogramming, #javascript, #programlama, #geliştirme, #fatihsoysal


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Mobil sürümden çık