next();
})
stream.pipe(upper).pipe(stream);
process.stdin.pipe(tr).pipe(process.stdout);
合并输入输出stream例子
合并后的输入输出可像前文request一样使用,下边这个例子实现了使用流的方式进行子进程调用
var spawn = require('child_process').spawn;
var duplexer2 = require('duplexer2');module.exports = function(cmd, args){
var c = spawn(cmd,args)
return duplexer2(c.stdin,c.stdout)
}
总结
通过上边的例子,可以知道stream应该还有如何合并等更复杂的应用方式。总之整体上符合如下特性:
Stream分为readable、writeble
Stream通过pipe方法控制流向
httpServer和httpClient和file system和process.stdinouterr通常可以作为stream
Stream可以被on(event)转化为普通的变量,普通变量可以被write转换成stream
Stream自身可以被拆分、合并、过滤









