您的函数在
command.on语句后立即返回。事件
return回调中的语句将
close返回无处。在
return所属的事件的回调,而不是
run()。
放
console.log电话代替
return result。
一般来说,您应该编写如下内容:
function run(cmd, callback) { var spawn = require('child_process').spawn; var command = spawn(cmd); var result = ''; command.stdout.on('data', function(data) { result += data.toString(); }); command.on('close', function(pre) { return callback(result); });}run("ls", function(result) { console.log(result) });


