这是我在Chrome 11和Firefox 4中测试过的代码段:
var http = require('http'); http.createServer(function(request, response){ // Write Headers response.writeHead(200); // Write Hello World! response.write("Hello World!"); // End Response after 5 seconds setTimeout(function(){ response.end(); }, 5000); }).listen(8000);
如您所见,我超时了,response.end()所以我可以测试是否response.write在之前输出response.end。以我的经验,虽然不是。
response.end()
response.write
response.end
有没有一种方法可以在结束响应之前输出数据,例如以包形式发送数据?
如果将内容类型更改为文本/纯文本,例如:
// Write Headers response.writeHead(200, {'Content-Type': 'text/plain'});
然后firefox将立即显示内容。Chrome似乎仍在缓冲(如果您编写更多内容,Chrome会立即显示它)。