我正在从最新的 Ubuntu 运行 Node.js。我得到以下代码:
var http = require('http');
var s = http.createServer(function(req, res){
res.writeHead(200, {'content-type':'text/html'});
res.write('Hello ');
setTimeout(function(){
res.end('world');
}, 3000);
});
s.listen(8000);
我通过执行“node server.js”来运行它,这一切都很好。但问题是,由于某种原因,在调用 setTimeout 之前没有输出任何内容——即请求后 3 秒。
我或多或少地遵循了http://www.youtube.com/watch?v=jo_B4LTHi3I上的示例(见 17:08),但我无法获得与他一样的“流式传输”结果(他的浏览器首先输出“Hello”,然后在 3 秒后输出“world”)。
我尝试了不同的浏览器,甚至尝试在终端中“卷曲”,就像他在剪辑上所做的那样。但这都是一样的。
默认情况下是否打开了某种输出缓冲,或者它为什么会这样?
提前致谢!