【发布时间】:2020-06-02 07:28:16
【问题描述】:
我真的只是想弄清楚这些是如何工作的。 IMO 关于流的文档有些缺乏,实际上并没有很多资源可以全面解释它们是如何工作和扩展的。
我的问题可以分为两部分
一、_read函数在stream模块中的作用是什么?当我运行此代码时,它会无休止地打印出“hello world”,直到将 null 推送到流缓冲区。这似乎表明 _read 在某种循环中被调用,该循环等待缓冲区中的空值,但我在任何地方都找不到明确说明这一点的文档。
var Readable = require('stream').Readable
var rs = Readable()
rs._read = function () {
rs.push("hello world")
rs.push(null)
};
rs.on("data", function(data){
console.log("some data", data)
})
二,read 究竟做了什么?我的理解是 read 消耗来自读取流缓冲区的数据,并触发 data 事件。这就是这里发生的一切吗?
【问题讨论】:
标签: node.js