~/talk

GroupBy: RxJS’ Secret Weapon for Complex UIs

slides:none on file

Recreates a movie-picker UI that keeps frontend and backend state consistent while users smash per-item buttons by using RxJS operators: a dispatcher Subject, optimistic UI updates, then groupBy by movieId to split actions into per-item streams, apply per-movie switchMap (or concatMap) for request cancellation without global backlog, and a duration selector implemented with timeoutWith + ignoreElements to auto-tear down groups after 15s. Result: cancels irrelevant requests per movie, avoids race conditions and backpressure, and prevents the groupBy memory leak.

AI-written summary · about

  1. 0:00Introduction to RxJS GroupBy
  2. 3:27Dispatcher pattern overview
  3. 7:01Mapping operators explained
  4. 8:03MergeMap race condition demo
  5. 9:30ConcatMap back pressure issue
  6. 11:15SwitchMap cancellation behavior
  7. 13:21GroupBy solves race conditions
  8. 15:08Higher order observables explained
  9. 16:52GroupBy key selector explained
  10. 20:26GroupBy memory leak problem
  11. 21:52TimeoutWith cleanup mechanism
  12. 23:38Fixing GroupBy with ignoreElements
  13. 25:02Full GroupBy implementation
  14. 27:27Optimizing with mergeMap
  15. 28:10Architectural benefits of GroupBy
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.