child.stdin 为什么不是 stream.Writable 的实例◔ ‸◔?

Rachel
  • 361

问题:

官方文档中说child.stdin是一个可写流,child.stdin也确实可以使用stream.Writable类的方法,例如,child.stdin.write(),具体详见我的另一个问题(开始理解错误,以为 ChildProcess 本质是一个 process,所以使用的方法和属性跟使用 process 是一样的)。
child.stdin之所以可以使用write()方法,难道不是因为他是stream.Writable类的实例吗?但是通过代码测试却返回false

相关代码:

var stream = require('stream');
var spawn = require('child_process').spawn;
// 使用子进程 执行 tail 命令,实时查看被添加到 my_file 文件中的内容。
var child = spawn('tail', ['-f', '/var/temp/my_file']);
console.log(child.stdin instanceof stream.Writable); //=>false
console.log(child.stdin instanceof stream.Readable); //=>true
回复
阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏