从节点子进程中检索值

Con*_*der 3 javascript node.js

var fp = 'ffprobe ' + fileName + ' -show_streams | grep '
var width = exec(fp+'width', function(err, stdout, stderr){
    return stdout;
});
alert(stdout + 'random example');
Run Code Online (Sandbox Code Playgroud)

如何让stdout'退出'以便我以后可以使用它.

Jon*_*ier 6

Node的exec功能是异步的.这意味着无法保证exec调用之下的代码将等待子进程完成运行.要在进程退出后执行代码,则必须提供处理结果的回调.你的代码可以从那里分支出来:

var fp = 'ffprobe ' + fileName + ' -show_streams | grep ';
var width = exec(fp+'width', function(err, stdout, stderr){
    console.log(stdout);

    // ... process stdout a bit ...

    afterFFProbe(stdout);
});

function afterFFProbe(output) {
    // your program continues here
}
Run Code Online (Sandbox Code Playgroud)