我正在看文档,里面有这个描述,但是我不明白它是什么意思
所有可读流实现必须提供_read方法从底层资源获取数据。
这个方法的前缀是下划线,因为它是定义它的类的内部方法,不应该被用户程序直接调用。但是,您应该在自己的扩展类中重写此方法。
当数据可用时,通过调用readable.push(chunk)将其放入读队列。如果push返回false,则应该停止读取。当再次调用_read时,应该开始推送更多的数据。
底层资源是什么?什么时候应该指定_read函数,这意味着它的作用是什么?
_read()
函数用于通知可读流尚未到达highWaterMark
,并且流可以自由地从底层资源读取更多数据。传递给_read()
的参数是建议从底层资源读取的字节数(或objectMode
的项数)。
文档中提到的底层资源指的是任何数据源。它可以是任何东西,包括另一个可读流,也可以是您动态生成的数据(例如,提供随机二进制数据的可读流)。