Is this different from how streams work in most other languages, e.g. Java, Go, Python?
But in JS the receiving end will just keep firing off data events until you pause it, or use something like reactive streams to request data as you're ready for it.
That's my understanding of the situation at least.