NodeJS文档提到了流动/非流动模式(在ReadableState中)。以下摘录进一步说明了一次可读流可能处于的不同可能状态。 (https://nodejs.org/api/stream.html#stream_three_states

Specifically, at any given point in time, every Readable is in one of three possible states:

readable._readableState.flowing = null
readable._readableState.flowing = false
readable._readableState.flowing = true


我将不胜感激任何提供更多解释的参考资料。我对每个州的特征/行为特别好奇;哪些动作会触发不同状态之间的转换?此外。


如果我没看错,那么在流模式下:流将主动生成数据,而在非流模式下:流将不会生成任何数据,直到调用r.read(size)为止。
非流动模式和暂停模式之间有什么区别吗? r.isPaused()时,_readableState.flowing == null为false。

最佳答案

最好的选择可能是在github上的源/库中搜索“ flowing”。


  可读流有效地在以下两种模式之一中运行:
  停顿了。在流动模式下,从
  基础系统自动提供给应用程序
  通过…显式地使用事件来尽可能快地读取
  流中的大量数据。所有[可读] []个流
  以暂停模式开始,但可以切换为流动


https://github.com/nodejs/node/search?q=flowing&type=Code&utf8=%E2%9C%93

09-19 19:42