我已经安装了node并正在运行一些简单的“ hello world”风格的程序,以更好地掌握正在发生的事情。
我对为什么以下代码似乎以阻塞方式运行感到困惑。5秒后,当我将浏览器打开到localhost:8080时,“进程已开始...”和“进程已完成”。出现在屏幕上。我希望“处理已开始...”立即出现,然后“处理已完成”。跟随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);
您的浏览器最有可能缓冲响应。尝试用curl(curl -N http://localhost:8080
)击中它,您会看到区别。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句