我喜欢将来自 nodejs 的 exec 集成到一个自定义函数中,以处理这个函数中的所有错误。
const exec = require('child_process').exec;
function os_func() {
this.execCommand = function(cmd) {
var ret;
exec(cmd, (error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}`);
return;
}
ret = stdout;
});
return ret;
}
}
var os = new os_func();
此函数返回 undefined,因为当值返回时 exec 尚未完成。我该如何解决?我可以强制函数等待 exec 吗?
原文由 RGe 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于命令是异步执行的,因此您需要使用 回调 来处理命令执行完毕后的返回值: