我正在关注 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 报告根本没有设置请求,甚至没有设置内容类型标头。如果我将它移到 exec 回调函数之外,它会被设置。