Reactive Programming
Reactive programming is programming with asynchronous data streams.
So... it's like an Event Bus? ... yes but with steroids.
EVERYTHING can be a stream.
Variables, user inputs, properties, caches, data structures, etc.
You can listen to those streams and react accordingly.
Iterator
Observer
Subscribe (Observable.subscribe())
Unsubscribe (Subscription.unsubscribe())
Notify (Observer.next())
Error (Observer.error())
Complete (Observer.complete())
https://codepen.io/joshblack/pen/zGZZjX
https://www.learnrxjs.io/operators/
https://rxviz.com/
http://rxmarbles.com/