ReactiveX = Observer + Iterator + …

The Problem :

Solution 1: Callbacks

Starts simple but evolves into the “Callback Hell”

Solution 2: Promises

Easy to read, flat callbacks.

Solution Today: Observe, Iterate, React

RXJS-6 easy to create operators. Observable –> Observable…

function (observer) {
    observer.next(1); //observer next is just a callback
    observer.next(2);  // a synchrous call if you need it.
    //TODO - unsubscribe with function
}

Operator takes a source Observable and returns New Observable.

e.g. filter (observable, predicate) return observable(filterObserver) returns the next, that returns the value result from the predicate?

Observable = Contract Producer + Consumer

In RXJS

Rationale

Data + Events handled separately causes pain. RXJS means SAME handling regardless.