Preforming some async operations with Rx.js
The code looks really easy to read to me, so I think you did well, really!


Consider using const instead of let.
You use #debug() in some places and console#log() in other places. If you can use another parallel instance of #debug() to remove the #log(), you will have some more control over logging.


Maybe you could extract the side-effects calls in #do() to not be part of the main stream, and create a separate stream that you can activate and deactivate. This will be overkill for your code, but in a bigger app, it would probably be nice.

Well done anyhow!