Although working with RxJs Observables simplifies complicated algorithms, the observable timing is not clear. Although the event loop cycle is described in detail in literature, it is not clear enough regarding observables. Is it a macrotask or microtask? Is it like setTimeout or is it like Promise? The answer is - it can be both and we can control it with RX Schedulers.