Middle
RxJS istifadə edərkən switchMap və concatMap operatorları nə vaxt istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
- switchMap: Yalnızca son sorğunun (Observable) nəticəsi ilə maraqlanırıq və əvvəlki sorğular hələ tamamlanmayıbsa, onları ləğv etmək istəyirik. Məsələn, real vaxt axtarışlarda, avtomatik tamamlamanın sorğusu, istifadəçi əvvəlki cavab alınmadan yeni simvol daxil edərsə, ləğv edilməlidir.
- concatMap: Sorğuları (Observables) ardıcıl olaraq, bir-birinin ardınca yerinə yetirmək və hər birinin tamamlanmasını gözləmək lazım gəldikdə istifadə olunur. İcra sırası təmin edilir. Məsələn, bir-birinə bağlı əməliyyatlar seriyasını yerinə yetirmək və ya ciddi ardıcıllıqla işlənməli olan məlumatları yükləmək üçün istifadə olunur.
// switchMap nümunəsi
source$.pipe(
switchMap(searchTerm => apiService.search(searchTerm)) // Əvvəlki axtarış sorğularını ləğv edir
).subscribe(results => console.log(results));
// concatMap nümunəsi
source$.pipe(
concatMap(itemId => apiService.getItem(itemId)) // Elementləri tək-tək işləyir, sorğunun tamamlanmasını gözləyir
).subscribe(item => console.log(item));