-1

node.js で 2 つのストリームを連続して動作させることができません。次のコードを参照してください。

var Stream = require('stream');

var stream1 = new Stream;
stream1.readable = true;

var stream2 = new Stream;
stream2.readable = stream2.writable = true;

var stream3 = new Stream;
stream3.readable = stream3.writeable = true;

var i = 0;

stream2.write = function(data){this.emit('data', data)};
stream3.write = function(data){this.emit('data', data)};

setInterval((function() {
stream1.emit('data', String(i++));
}), 100);

//works:
stream1.pipe(stream2).pipe(process.stdout);

//does not work - why???
//stream1.pipe(stream2).pipe(stream3).pipe(process.stdout);

2 つのストリームを連続して動作させるにはどうすればよいですか?

4

2 に答える 2

1

あなたは非常にばかげていると感じるでしょう、それはタイプミスです:

stream2.readable = stream2.writable = true;
stream3.readable = stream3.writeable = true;  

違いを参照してeくださいstream3.writable

于 2013-03-08T16:01:06.897 に答える
0

asyncを試してください(またはnmpjs.comから) - サンプルと wiki を使用して非同期 JavaScript を操作するための最も人気のある Node.js モジュールです。

于 2013-03-08T15:08:19.950 に答える