我想通过扩展stream.Readable来实现可读流。超类流的问题。复杂的
根据文档,我所要做的就是实现_read()。
我不明白的是在_read中如何处理没有数据的数据,或者一旦我再次获取数据时如何触发另一个_read调用。在Readable中我没有看到一个概念来处理缓慢或延迟传递的数据。我可以看到_read()在调用pipe()函数后立即被调用。
如果在_read任何时候,我都没有数据我有不提供返回,似乎_read永远不会再次调用。一旦数据准备就绪,我尝试发出可读的事件,但不会触发对_read的调用。
这个问题并不仅仅发生在启动,但每当我需要源的交付时间可能会发生。 Stream.Readable不支持缓慢的来源吗?
谢谢,这样做的工作。为什么它不在文档中? – Thomas
如果您认为它不够清楚,请考虑在节点repo中提交一个PR,并改变措辞。有时候,对于那些长期在代码库中工作的人来说,第一次来这个项目的用户可能会很困难。 – mscdex