Some data streams inserted into a channel are asynchronous for example those coming from operators like fromAsyncIterable, fromAsyncIterableDelayed, pipe, and those coming from static utilities like merge and mergeDelayed.
If values were inserted using above mentioned functions and, subsequently, the drain method is called, we have to see those values into the channel.
The solution is to defer the drain method into a subsequent microtask with the lowest priority due to the setTimeout behaviour.
Generated using TypeDoc
See the Channel interface for more details.