0
私はこのメソッドを使用して、コマンドを文字列として渡しています。しかし、私はconsole.logに出力するだけではありません。たとえば、誰かがcommandLine( 'aplay -L')を呼び出すと、コマンドラインに表示される出力は変数またはJSON応答として返されます。コールバック自体はstdoutの場所ですが、どのように変数に戻すのですか?node.jsの変数にコマンドラインの出力を格納する方法は?
commandLine = function(command, callback) {
var exec = require('child_process').exec;
exec(command, function (err, stdout, stderr) {
if (err && err.length > 1) {
console.log("failed to find playback or record devices");
callback(error("InternalError", "No input or output devices found", 500));
return;
}else{
callback(stdout); //returns cmd line output
}
});
};
これでも、出力はconsole.log(data)に送信されます。私が必要とするのは、出力を文字列として返すか、ローカル変数にデータの値を保持させるための関数呼び出しcommandLine( 'ping'、function(err、data){...})です。ありがとう – John
いくつかのデータを取得したら、それを任意のローカル変数に割り当てることができます。重要なことは、コールバックを使用してデータを送信する方法です。 – user3151330