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現在也可以。

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...');
});
添加回答
舉報