JS has a lot of mechanisms for handling async signals. Most of ’em imply 1-to-1 signal-action relation. In real life things happen in different way, e.g.,
– not all the signals deserve the action;
– the action depends on the timing/schedule (two single clicks vs. double click);
– the action depends on >1 source (“W” for walk but with “Shift” it’s for run).
Reactive approach (and RxJS) implies the idea of “async signals in plural” (AKA stream). RxJS allows to modify the stream in (almost) any way before invoking the action. How the stream could be modified? ― think what lo-dash/underscore can do to lists or maps.
Live-coding demo will be provided using WebAudio API as the source of entropy.
Session Level: Advanced