小编Nic*_*ery的帖子

从两个管道流创建Node.js流

如果可能的话,我想通过管道将两个Node.js流组合成一个.我正在使用Transform流.

换句话说,我希望我的图书馆能够myStream让人们使用.例如,他们可以写:

process.stdin.pipe(myStream).pipe(process.stdout);
Run Code Online (Sandbox Code Playgroud)

在内部,我正在使用第三方vendorStream做一些工作,插入我自己的逻辑中myInternalStream.那么上面的内容将转化为:

process.stdin.pipe(vendorStream).pipe(myInternalStream).pipe(process.stdout);
Run Code Online (Sandbox Code Playgroud)

我可以这样做吗?我试过了,var myStream = vendorStream.pipe(myInternalStream)但显然不起作用.

换句话说bash,假设我想编写一个程序,检查字母h是否出现在某个stream(tail -n 1 | grep h)的最后一行,我可以创建一个shell脚本:

# myscript.sh
tail -n 1 | grep h
Run Code Online (Sandbox Code Playgroud)

如果人们这样做:

$ printf "abc\ndef\nghi" | . myscript.sh
Run Code Online (Sandbox Code Playgroud)

它只是有效.

这是我到目前为止:

// Combine a pipe of two streams into one stream

var util = require('util')
  , Transform = require('stream').Transform;

var chunks1 = [];
var stream1 = new Transform();
var soFar = '';
stream1._transform …
Run Code Online (Sandbox Code Playgroud)

node.js node.js-stream

18
推荐指数
1
解决办法
7455
查看次数

标签 统计

node.js ×1

node.js-stream ×1