这是本书中的一个例子:“Professional Node.js”。它应该每秒输出一个时间戳3秒。但是在调用res.end()之前出现的是:(在3s之前加载页面,然后才出现在屏幕上......)
require('http').createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
var left = 3;
var interval = setInterval(function () {
res.write(Date.now() + " ");
left -= 1;
if (left === 0) {
clearInterval(interval);
res.end();
}
}, 1000);
}).listen(4000);
和你一样吗?
[编辑:] 我发现这个Simple Node.js server which responds in chunked transfer encoding 并且对我来说也不起作用...(所有都在end()调用后显示~5s)
答案 0 :(得分:0)
对我来说很好。所以这取决于你如何测试它,因为浏览器,卷曲和类似的事情会缓冲事情。
GET / HTTP/1.1
HTTP/1.1 200 OK
Content-Type: text/plain
Date: Fri, 27 Sep 2013 11:21:22 GMT
Connection: keep-alive
Transfer-Encoding: chunked
e
1380280883375
e
1380280884378
e
1380280885380
0