Przejdź do treści

Szkolenie RxJS

Dobierzesz operator RxJS do problemu i pozbędziesz się wycieków pamięci i wyścigów zapytań w Angularze.

  • Czas trwania: 2 dni
  • Poziom: średniozaawansowany
  • Forma: warsztat dla zespołu
Zapytaj o termin Pobierz program (PDF)

W Angularze stan komponentów przejęły sygnały, ale zdarzenia, zapytania HTTP i wyścigi między nimi nadal najlepiej opisuje RxJS. Najwięcej błędów bierze się z dwóch miejsc: źle dobranego operatora spłaszczającego i subskrypcji, której nikt nie zamyka.

Na szkoleniu nauczysz się dobierać operator do problemu, sprzątać subskrypcje i łączyć strumienie z sygnałami. To pogłębienie tematu RxJS ze szkolenia Angular: pracujesz na przykładach z prawdziwych aplikacji, a nie na diagramach.

Program

2 dni

  • Model Observable w praktyce
    • Strumień a Promise: leniwe wykonanie, subskrypcja i anulowanie
    • Hot i cold Observable
    • Rodzaje Subject: Subject, BehaviorSubject, ReplaySubject
    • Współdzielenie strumienia: share i shareReplay
    • RxJS 7.8 dziś, RxJS 9 i natywny Observable w przeglądarkach
  • Operatory transformujące i filtrujące
    • map, filter, scan, tap
    • debounceTime, distinctUntilChanged, throttleTime
    • Strumienie ze zdarzeń i czasu: fromEvent, interval, timer
  • Operatory spłaszczające
    • switchMap, mergeMap, concatMap, exhaustMap: który do czego
    • Wyszukiwarka z podpowiedziami i przycisk, który wysyła formularz raz
  • Łączenie strumieni
    • combineLatest, forkJoin, merge, withLatestFrom
    • Kilka zapytań HTTP naraz i jedno źródło stanu widoku
  • Błędy i anulowanie
    • Obsługa błędów: catchError, retry({ count, delay }), finalize
    • Anulowanie zapytań: takeUntil, timeout i anulowanie poprzedniego zapytania przy nowych parametrach
  • Subskrypcje i wycieki pamięci
    • Gdzie powstają wycieki i jak je znaleźć
    • async pipe, takeUntilDestroyed i DestroyRef
  • RxJS i sygnały w Angularze
    • Kiedy sygnał, a kiedy strumień
    • toSignal i toObservable
    • rxResource: dane z zapytania jako sygnał
  • Testowanie kodu opartego o RxJS
    • Testy marble (diagramy marmurkowe) z TestScheduler
    • Testowanie operatorów czasu bez czekania

Dla kogo?

  • Dla programistów, którzy używają RxJS w Angularze i chcą go zrozumieć.
  • Dla osób, które mają dość zagnieżdżonych subskrypcji i callbacków.
  • Dla zespołów, które decydują, co zostawić w RxJS, a co przenieść na sygnały. Całą migrację na sygnały omawiam na szkoleniu Migracja Angulara.

Co musisz umieć?

  • Programować w JavaScript lub TypeScript, w tym z async/await.
  • Pracować z Angularem: komponenty, serwisy i HttpClient.

Czego się nauczysz?

  • Zrozumiesz, czym Observable różni się od Promise.
  • Rozróżnisz hot i cold Observable oraz rodzaje Subject.
  • Dobierzesz operator spłaszczający do problemu zamiast zagnieżdżać subskrypcje.
  • Połączysz kilka strumieni w jeden stan widoku.
  • Obsłużysz błędy i anulujesz niepotrzebne zapytania.
  • Znajdziesz i usuniesz wyciek pamięci z niezamkniętej subskrypcji.
  • Połączysz RxJS z sygnałami i zdecydujesz, co gdzie trzymać.
  • Przetestujesz strumienie testami marble.

Trener

@piecioshka

Piotr Kowalski

W branży IT od 2008 roku. Od 2014 jest mentorem dla wielu developerów. Jako trener spędził na sali szkoleniowej kilka tysięcy godzin, a na LinkedIn ma 52 rekomendacje. Każde jego szkolenie to dawka solidnej wiedzy oraz humoru.

Więcej na stronie "O mnie"

Zorganizujmy to szkolenie w Twoim zespole

Napisz, z czym pracujecie i na jakim poziomie jest grupa. Odpowiem z propozycją programu dopasowanego do Waszego projektu.

Zapytaj o szkolenie Pobierz program (PDF) Zobacz wszystkie szkolenia