如何排出我不想阅读的输入流?

时间:2016-07-07 21:00:03

标签: node.js stream

我使用tar-stream来查看tar文件的内容。我只是想查看条目,我不想对数据做任何事情。该软件包的文档说:

  

tar存档按顺序流式传输,这意味着您必须将每个存档都耗尽   你得到它们的条目流,否则主要的提取流将   接受背压并停止阅读。

我查看了stream文档,但我看到的关于排水的所有事件都是在没有更多数据时生成的事件。我什么都没看到如何手动排出输入。我不想只是读取数据,因为我假设有一种更有效的方法,只是跳过所有数据并标记它读取而不是通过内存可能无条件地将数百兆字节混乱。

如何排出输入流?

1 个答案:

答案 0 :(得分:0)

使用" drain"在这种情况下可能会令人困惑。解决方案是在输入流上调用resume函数。这个"可用于完全使用流中的数据,而无需实际处理任何数据。根据{{​​3}}:

getReadableStreamSomehow()
  .resume()
  .on('end', () => {
    console.log('Reached the end, but did not read anything.');
  });