我在节点中有一个对象,该对象具有.stdin
,.stderr
和.stdout
附加到它的对象。我有stdout
并作为可写流工作,但在作为可读流工作stderr
时遇到了一些麻烦。stdin
在我正在构建的用例中,我可以执行以下操作:
var stream = require('stream');
var util = require('util');
var Readable = stream.Readable;
var My_Stdin = function(){
Readable.call(this, {objectMode: true});
};
util.inherits(My_Stdin, Readable);
My_Stdin.prototype._read = function(data) {
this.emit(data);
};
function myObject(){
this.stdin = new My_Stdin;
this.stdin.on('data', function(data){
process.stdout.write(data);
});
}
var object = new myObject;
process.stdin.pipe(object.stdin);
现在我收到一条错误消息:
_stream_readable.js:525
var ret = dest.write(chunk); ^
类型错误:dest.write 不是函数
如何stdin
在我的对象上正确实现类似于child_process.spawn
?