0

我想知道是否可以使用可写流(require('stream').Writable)作为事件发射器。

例如,

   var jsonData = [];

   var strm = new stream.Writable({
        write: function(chunk, encoding, next) {

            jsonData.push(chunk.toString());
            next();
        }

    });


    strm.on('foo',function(msg){
        console.log(msg); //doesn't get called
    });

    strm.emit('foo','bar');  //this doesn't seem to do anything

我认为可读/可写流是事件发射器,但似乎我不能真正以这种方式使用它们?还想知道我是否通过写入可写对象/流之外的数组来正确使用可写。

4

1 回答 1

1

流确实是事件发射器,您的代码示例在节点上运行良好v4.2.4

vladmiller:tmp vladmiller$ node test.js
bar

和节点v0.12.7

vladmiller:tmp vladmiller$ node test.js
bar
于 2016-02-03T21:28:14.813 回答