var fp = 'ffprobe ' + fileName + ' -show_streams | grep '
var width = exec(fp+'width', function(err, stdout, stderr){
return stdout;
});
alert(stdout + 'random example');
後で使用できるように、プロセスの標準出力をどのように取得するのですか。ノードの子プロセスから値を取得する
var fp = 'ffprobe ' + fileName + ' -show_streams | grep '
var width = exec(fp+'width', function(err, stdout, stderr){
return stdout;
});
alert(stdout + 'random example');
後で使用できるように、プロセスの標準出力をどのように取得するのですか。ノードの子プロセスから値を取得する
ノードの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
}
'stdout'が私のために空白になっています:(私は' stderr'を使用しなければなりませんでした – moeiscool
私が正しくあなたを理解していた場合:
var fp = 'ffprobe ' + fileName + ' -show_streams | grep ',
value,
width = exec(fp+'width', function(err, stdout, stderr) {
value = stdout;
return stdout;
});
alert(value + 'random example');
残念ながら、これは動作しません。 – ConfusedCoder
を、私は、これはうまくいくかもしれないと思う:
var output = "";
var fp = 'ffprobe ' + fileName + ' -show_streams | grep '
var width = exec(fp+'width', function(err, stdout, stderr){
this.output = stdout;
});
alert(output + 'random example');
上記の回答のどれものために働いていません私。これはしました。
ハハハ!あなたのニックネが大好き。 – Frankie