组合-流
一条溪流逐一流出多条其他溪流.
编号 现 combined-stream 只使用流版本 1 。 目前正在努力将这个库切换为流 第2版. 欢迎任何帮助。 ) 同时,您可以探索提供流2支持的其他库,这些库或多或少与流2兼容 combined-stream。 。 。 .
-
组合-流2: 为组合相流模块提供可兼容的滴入相流2相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相.
-
多流线:流出相继多出其他流.
安装
npm install combined-stream
使用量
以下是一个简单的例子,说明如何使用组合-流来组合 将两个文件合并为一个文件:
var CombinedStream = require('combined-stream');
var fs = require('fs');
var combinedStream = CombinedStream.create();
combinedStream.append(fs.createReadStream('file1.txt'));
combinedStream.append(fs.createReadStream('file2.txt'));
combinedStream.pipe(fs.createWriteStream('combined.txt'));
虽然上面的例子很有效,但它会暂停所有源流直到
它们是需要的。 如果你不想发生,你可以设置 pauseStreams
改为 false数字 :
var CombinedStream = require('combined-stream');
var fs = require('fs');
var combinedStream = CombinedStream.create({pauseStreams: false});
combinedStream.append(fs.createReadStream('file1.txt'));
combinedStream.append(fs.createReadStream('file2.txt'));
combinedStream.pipe(fs.createWriteStream('combined.txt'));
然而,如果你还没有所有的源流, 或者你不希望
立即为他们分配资源(文件描述符、内存等)?
那么,如果那样的话,你可以提供 简单的召回,供应溪流
呼唤 next() 函数 :
var CombinedStream = require('combined-stream');
var fs = require('fs');
var combinedStream = CombinedStream.create();
combinedStream.append(function(next) {
next(fs.createReadStream('file1.txt'));
});
combinedStream.append(function(next) {
next(fs.createReadStream('file2.txt'));
});
combinedStream.pipe(fs.createWriteStream('combined.txt'));
API 密码
组合Stream.create([选项])
返回新的合并流对象。 可用的选项有:
maxDataSizepauseStreams
现将这些方案的效果说明如下.
合并为Stream.pause-Streams= true
是否对下方流施加回压 。 如果设置为 false, (中文(简体) ),
底部的溪流永远不会被暂停。 如果设置为 true,则
后面的流会在附件之后立即被暂停,以及何时
delayedStream.pipe() 想要减速.
合并 Stream.maxDataSize= 2 * 1024 * 1024
用于所有源流缓冲的最大字节(或字符).
如果超过这个值, combinedStream 发出一个 'error' 活动.
合并 Stream.dataSize= 0
目前缓冲的字节( 或字符) 数量 combinedStream。 。 。 .
组合Stream.append(流)
附加给定的 stream 转到合并的Stream 对象。 若为 pauseStreams 实值
设定为“事实上,这一流也将立即被暂停.
streams 也可以是一个需要一个参数的函数 next。 。 。 . next
是一个必须引用的函数,以便提供 next 流,见
上文的例子.
不管怎么样 stream 附加,组合-流总是附加
'error' 倾听者,所以你不必手动做到这一点.
特例: stream 也可以是弦或缓冲.
合并Stream.write(数据)
你不应该叫这个, combinedStream 照顾管道 所附
为你而来.
组合 Stream.resume ()
原因 combinedStream 开始排出它管理的溪流。 函数是
并发出 'resume' 事件每次通常都会发生
目前排出的水流.
合并Stream.pause();
若为 combinedStream.pauseStreams 设置为 false这没什么用.
否则a 'pause' 事件被释放,它会流到
正在排出,所以你可以用它施加后压.
合并Stream.end();
设定 combinedStream.writable 假的,发出一个 'end' 事件,并删除
所有从队列流出.
合并Stream.dstroy();
与 combinedStream.end()除非它发出一个 'close' 事件代替
'end'。 。 。 .
许可证
联合流由麻省理工学院颁发许可证.