https://egghead.io/courses/step-by-step-async-javascript-with-rxjs
RxJS is tremendously helpful in working with asynchronous code, but you’ve probably been stuck trying to use concepts you already know from Promises or Callbacks and applying them directly to RxJS. [These lessons walk you through the step-by-step of building a simple game application with many asynchronous pieces. [Each lesson focuses on a single operator or idea of how RxJS helps simplify your code as well as making you code flexible enough to easily add more asynchronous pieces as your codebase grows.
1 05:48 starting a stream with switchmap
2 04:10 stopping a stream with takeuntil
3 02:10 updating data with scan
4 01:06 displaying initial data with startwith
5 02:32 changing behavior with mapto
6 02:59 handling multiple streams with merge
7 04:44 refactoring composable streams in rxjs
8 01:46 getting input text with map
9 03:08 combining streams with combinelatest
10 01:01 adding conditional logic with filter
11 01:19 completing a stream with takewhile
12 01:21 handling a complete stream with reduce
13 01:34 logging a stream with do
14 02:54 timer and input recap
15 02:17 refactoring combinelatest to withlatestfrom
16 02:04 resubscribing to a stream with repeat
17 01:06 basic dom rendering with subscribe
18 04:00 sharing streams with share`