如何包装一个缓冲的流2可读流?(How to wrap a buffer as a stream2

2019-08-31 08:24发布

我怎样才能改变一个Node.js的缓冲区中使用流2接口下可读流?

我已经发现了这个答案和流缓冲模块,但该模块是基于流1接口。

Answer 1:

随着streamifier可以字符串和缓冲区转换为可读取数据流与新的流API。



Answer 2:

最简单的方法可能是创建一个新的直通流实例,并简单地将数据推入它。 当你把它管其他流,数据将被拉出第一流的。

var stream = require('stream');

// Initiate the source
var bufferStream = new stream.PassThrough();

// Write your buffer
bufferStream.end(new Buffer('Test data.'));

// Pipe it to something else  (i.e. stdout)
bufferStream.pipe(process.stdout)


Answer 3:

作为natevw建议,它更习惯使用stream.PassThrough ,并end与缓冲区吧:

var buffer = new Buffer( 'foo' );
var bufferStream = new stream.PassThrough();
bufferStream.end( buffer );
bufferStream.pipe( process.stdout );

这也是缓冲器如何被转换/管道在乙烯基-FS 。



文章来源: How to wrap a buffer as a stream2 Readable stream?