我需要在node.js函数中result = execSync('node -v');它将同步执行给定的命令行并返回该命令文本的所有标准输出。ps。同步是错误的。我知道。仅供个人使用。
4 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
Node.js(从0.12版本开始-已有一段时间)支持execSync:
child_process.execSync(command[, options])
您现在可以直接执行以下操作:
const execSync = require('child_process').execSync;
code = execSync('node -v');
它会做您期望的。(默认将I / O结果通过管道传递给父进程)。请注意,您spawnSync现在也可以。
MM们
TA贡献1886条经验 获得超2个赞
node.js中有一个出色的流控制模块,称为asyncblock。如果适合您的情况将代码包装在函数中,则可以考虑以下示例:
var asyncblock = require('asyncblock');
var exec = require('child_process').exec;
asyncblock(function (flow) {
exec('node -v', flow.add());
result = flow.wait();
console.log(result); // There'll be trailing \n in the output
// Some other jobs
console.log('More results like if it were sync...');
});
添加回答
举报
0/150
提交
取消