繁体   English   中英

在Node.js中向子进程添加处理程序有什么区别:cp.on('event')与cp.stdout('event')

[英]What's the difference in adding a handler to a child process in Node.js: cp.on('event') vs. cp.stdout('event')

似乎有两种方法可以将事件处理程序附加到Node中的子进程 ,其中一种方法是使用cp.stdin.oncp.stdout.oncp.stderr.on 另一个是直接添加到子进程cp.on 有什么不同?

const ls = spawn('ls', ['-lh', '/usr']);

ls.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});


ls.on('close', (code) => {
  console.log(`child process exited with code ${code}`);
});

区别在于事件源及其提供的事件。 stdinstdoutstderr是流( stdinWriteable流 ,其他两个是Readable流 )。 该过程是一个ChildProcess 因此,尽管流具有与其流相关的事件(例如,Readble流上的data事件),但是子进程具有与其流相关的事件,例如exit

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM