0

モジュールを介してコマンドを実行し、child_processクライアント ブラウザに結果を次のように応答しようとしていますconsole.log(stdout)が、検索は機能しますが、機能しませんresponse.write()

function start(response) {
    dir_list(function(stdout) {
        response.writeHead(200, {"Content-Type": "text/plain"});
        response.write(stdout);
        console.log(stdout);
        response.end();
});     

function dir_list(callback) {
     var exec = require('child_process').exec
     child = exec('ls -la', function(error, stdout, stderr) {
         callback(stdout);
     });
}

上記のコードは、私が Node.js: Object value as stdout of child_process.execと呼んでいるものですが、残念ながらうまくいきません。

ところで、私の元のコードは次のとおりです。

  function start(response) {
      console.log("Request handler 'start' was called.");
      var exec = require('child_process').exec;
      exec("ls -lah", function (error, stdout, stderr) {
      response.writeHead(200, {"Content-Type": "text/plain"});
      response.write(stdout);
      console.log(stdout);
      response.end();
 });
4

1 に答える 1

1

あなたのコードには}、関数の最後に終わりがありませんstart

function start(response) {
    dir_list(function(stdout) {
        response.writeHead(200, {"Content-Type": "text/plain"});
        response.write(stdout);
        console.log(stdout);
        response.end();
    });
}

function dir_list(callback) {
     var exec = require('child_process').exec
     child = exec('ls -la', function(error, stdout, stderr) {
         callback(stdout);
     });
}
于 2012-04-28T18:16:16.633 に答える