我在看文档,上面有这样的描述,但我不明白它的意思。
所有可读流实现都必须提供一个读取方法来从底层资源获取数据。
此方法的前缀是下划线,因为它是定义它的类的内部,用户程序不应直接调用它。但是,您需要在自己的扩展类中重写此方法。
当数据可用时,通过调用readable.push(chunk)将其放入读取队列。如果push返回false,则应停止阅读。当再次调用读取时,应开始推送更多数据。
基础资源是什么?
你什么时候会真正指定一个读取函数,这意味着它有什么用途?

最佳答案

_read()函数用于通知可读流尚未到达highWaterMark,流可以随意从底层资源读取更多数据。传递给_read()的参数是从底层资源读取的字节数(在objectMode的情况下是项数)的建议。
文档中提到的基础资源指的是任何数据源。它可以是任何东西,包括另一个可读流,也可以是您动态生成的数据(例如,提供随机二进制数据的可读流)。

08-04 12:25