我已经安装了节点,并且正在运行一些简单的“hello world”风格程序,以便更好地掌握正在发生的事情。
我很困惑为什么以下代码似乎以阻塞方式运行。当我在5秒后打开浏览器到localhost:8080时,“Process started ...”和“Process complete”。出现在屏幕上。我希望“流程开始...”立即出现,然后“流程完成”。 5秒后关注。关于为什么超时会影响这段代码的任何想法?这段代码保存在一个名为'hello.js'的文件中,我只是用'node hello.js'运行。
var http = require('http');
http.createServer(function(request,response) {
response.writeHead(200);
response.write("Process started...");
setTimeout(function() {
response.write("Process complete.");
response.end();
}, 5000);
}).listen(8080);
答案 0 :(得分:3)
您的浏览器很可能会缓冲响应。尝试使用curl(curl -N http://localhost:8080
)进行匹配,然后你会看到差异。