Javascript 在循环中调用时使子进程等待
我想将一些存储在数组中的输入文件提供给ffmpeg子进程,但它需要异步,因为我想捕获std.err live。但是,我需要一次输入一个输入,等待前一个输入完成。我认为我需要使用承诺或异步等待,但我无法解决如何使用。我的代码(简化)是:Javascript 在循环中调用时使子进程等待,javascript,asynchronous,child-process,Javascript,Asynchronous,Child Process,我想将一些存储在数组中的输入文件提供给ffmpeg子进程,但它需要异步,因为我想捕获std.err live。但是,我需要一次输入一个输入,等待前一个输入完成。我认为我需要使用承诺或异步等待,但我无法解决如何使用。我的代码(简化)是: var-inputArray=['“+”第一个文件“+”,“+”第二个文件“+”,“+”第三个“+”]; var spawn=require('child_process')。spawn; 对于(i=0;i var inputArray =['"'+&
var-inputArray=['“+”第一个文件“+”,“+”第二个文件“+”,“+”第三个“+”];
var spawn=require('child_process')。spawn;
对于(i=0;i
var inputArray =['"'+"firstFile"+'"' ,'"'+"secondFile"+'"' ,'"'+"third"+'"' ];
var spawn = require('child_process').spawn;
for(i=0;i<inputArray.length;i++){
child = spawn("ffmpeg",["-y", "-i",inputArray[i],+i+".ts"],{ shell: true});
child.stderr.on('data', function (fdata) {
var datastring = fdata.toString(), lines = datastring.split(/(\r?\n)/g);
for (var b=0; b<lines.length; b++) {
document.getElementById("show").innerHTML = lines[b];
}
});
child.on('exit', function (code) {
console.log("code "+i+" "+ code);
});
}