Please don't use event streams for handling asynchronous code, that's not what it's for.
Use Promises for things that happen once, event streams for things that happen 0 to many times.
I find you run into trouble when you start mixing them. If you use observables for 0-N events and promises for 1 time events you're always converting between the two.