我想知道是否可以使用可写流(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
我认为可读/可写流是事件发射器,但似乎我不能用这种方式真正使用它们?还想知道我是否通过写入Writable对象/流之外的数组正确使用Writable。
答案 0 :(得分:1)
Streams确实是事件发射器,您的代码示例在节点v4.2.4
vladmiller:tmp vladmiller$ node test.js
bar
和节点v0.12.7
vladmiller:tmp vladmiller$ node test.js
bar