From now on, all principles needed to write asynchronous reactive code in a functional way should be clear: reactive programming, asynchronous programming, and functional programming. Before combining all these concepts, there is one last thing to look at—one issue that any real code will face: observable cycles.
Observable cycles
The observable cycle issue
What is the observable cycle issue? The observable cycle issue is a natural consequence of flow-based programming. Flow-based programming, as well as ReactiveX programs, consist of defining a directed graph of streams/observables. There are no constraints on the structure of this graph. So, the final code may consist of either a directed acyclic graph or a directed...