私は node.js チュートリアルに従っており、ディレクトリの内容を表示する単純なサーバーを作成しています。
function start(response) {
console.log("Request handler 'start' was called.");
// if I put response.write("blah") here it works
console.log(response);
exec("ls -lah", function (error, stdout, stderr) {
console.log(response);
response.writeHead(200, {"Content-Type": "text/plain"});
response.write(stdout);
response.write("asdfasdf");
console.log("asdf");
console.log(stdout);
response.end();
});
}
これはブラウザには何も出力しませんが、コンソールに表示されます。
response.write() を exec コールバック関数の外に置いてみたところ、ブラウザに完全に表示されました。
Firefox は、リクエストがまったく設定されておらず、content-type ヘッダーも設定されていないと報告しています。それを exec コールバック関数の外に移動すると、設定されます。