There is a great talk by Erik Meijer (who invented Rx) showing this very neatly: https://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/Ke...
What would AsyncObservable look like in JS?
It would be like an Observable, where the Observer's next/error/complete are changed from X=>() to X=>Promise where the Promise indicates the Observer is done with the consumption, telling the producer that it can continue producing more values.
If there is more than one Observer of the same AsyncObservable, is there a separate queue for each of them?
I'm thinking of AsyncSink[1] used by AsyncIterableX[2] (both of IxJS[3]) and how they might be conceptually related to implementations of AsyncObservable.
[1] https://github.com/ReactiveX/IxJS/blob/master/src/asyncsink....
[2] https://github.com/ReactiveX/IxJS/blob/master/src/asyncitera...