如果文件不存在,child
我应该通过Nodejs执行一个VBS脚本,所以我正在使用child_process。
我的问题是,如果生成进程出错,它永远不会触发错误事件。
const { spawn } = require( 'child_process' );
const vbs = spawn( 'cscript.exe', [ vbsPath] );
vbs.on('error', function( err ){
console.log(err);
})
vbs.on('close', async function(code) {
console.log(code)
});
vbsPath是vbs的路径,如果我尝试放错路径或在vbs中添加错误,它会触发始终关闭事件,代码为1而不是0.但我的问题是:
为什么它永远不会触发错误事件?关闭事件的代码是否可靠,以确定脚本是否返回错误?
回答如下:这个过程很好,因此你没有收到错误。
来自docs
无论何时发生'error'事件:
无法生成该过程,或
这个过程无法杀死,或者
向子进程发送消息失败。
例如,如果您编写const vbs = spawn('ciao', ['vbsPath'])
,您将收到错误事件。