Here’s a short list of advantages :
- avoid “callback hell”
- a lot simpler to do async / threaded work
- a lot of operators that simplify work
- very simple to compose streams of data
- complex threading becomes very easy
- you end up with a more cleaner, readable code base
- easy to implement back-pressure