2016-07-07 7 views
0

私はtar-streamを使ってtarファイルの内容を見ています。私はちょうどエントリを見たいと思うし、私はデータで何もしたくない。このパッケージのドキュメントは言う:私は読みたくない入力ストリームをどのように排水しますか?

tarアーカイブは、あなたがそれらを取得するか、他のメイン抽出流が は背圧を受け取り、読むのを止めとして使用すると、各 エントリのストリームを排出しなければならないという意味、順番にストリーミングされます。

私はstreamのドキュメントを見てきましたが、排水に関するすべては、データがなくなったときに生成されるイベントです。入力を手動で排除する方法については何も見ません。正当な理由がないのにメモリを介して何百メガバイトも移動するのではなく、すべてのデータをスキップして読み取るより効率的な方法があると仮定しているので、データを読み取るだけではありません。

入力ストリームを排除するにはどうすればよいですか?

答えて

0

このコンテキストで「ドレイン」という語を使用すると、混乱する可能性があります。解決方法は、入力ストリームのresume関数を呼び出すことです。これは、「そのデータを実際に処理することなく、ストリームからデータを完全に消費するために使用できます」

getReadableStreamSomehow() 
    .resume() 
    .on('end',() => { 
    console.log('Reached the end, but did not read anything.'); 
    }); 
関連する問題