Sobes.tech
Middle

RxJS kullanırken switchMap ve concatMap operatörleri ne zaman kullanılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

  • switchMap: Sadece son isteğin (Observable) sonucuyla ilgilendiğimizde ve henüz tamamlanmamışsa önceki istekleri iptal etmek istediğimizde kullanılır. Örneğin, gerçek zamanlı aramalarda, otomatik tamamlama isteği, kullanıcı yeni bir karakter girerse önceki yanıt alınmadan iptal edilmelidir.
  • concatMap: İstekleri (Observables) sıralı olarak, birbiri ardına gerçekleştirmemiz gerektiğinde ve her birinin tamamlanmasını beklediğimizde kullanılır. Çalışma sırası garanti edilir. Örneğin, birbirine bağlı bir dizi işlemi gerçekleştirmek veya belirli bir sırayla işlenmesi gereken verileri yüklemek için kullanılır.
// switchMap kullanım örneği
source$.pipe(
  switchMap(searchTerm => apiService.search(searchTerm)) // Önceki arama isteklerini iptal eder
).subscribe(results => console.log(results));

// concatMap kullanım örneği
source$.pipe(
  concatMap(itemId => apiService.getItem(itemId)) // Öğeleri tek tek işler, isteğin tamamlanmasını bekler
).subscribe(item => console.log(item));