Node.js 浏览器没有';t似乎不像cURL那样刷新已经从服务器接收到的数据

Node.js 浏览器没有';t似乎不像cURL那样刷新已经从服务器接收到的数据,node.js,curl,browser,chunked,Node.js,Curl,Browser,Chunked,我正在用node.js示例演示HTTP流(内容类型:chunked) 现在,当我使用chrome查看页面时,它只是超时,我永远看不到屏幕上的任何内容。而使用cURL似乎是在接收内容时向我显示内容 $ curl localhost:3000 hello world world world world 这是浏览器的默认行为吗?除非它有完整的数据,否则不会显示任何内容? 丢弃数据并显示超时错误似乎是浪费。您需要调用res.end才能在浏览器中查看输出 例如,尝试在res.write('hello')

我正在用node.js示例演示HTTP流(内容类型:chunked)

现在,当我使用chrome查看页面时,它只是超时,我永远看不到屏幕上的任何内容。而使用cURL似乎是在接收内容时向我显示内容

$ curl localhost:3000
hello world
world
world
world
这是浏览器的默认行为吗?除非它有完整的数据,否则不会显示任何内容?
丢弃数据并显示超时错误似乎是浪费。

您需要调用
res.end
才能在浏览器中查看输出

例如,尝试在
res.write('hello')
之后添加此项:

五秒钟后,您将看到如下内容:

Hello world
world
我的猜测是cURL会立即显示输出,因为它不关心内容类型,而真正关心内容类型的浏览器在显示任何内容之前可能需要更多的响应


您还可以尝试通过更改传输编码来流式传输响应;查看更多信息。

如果我在写入过程中删除了“\n”,那么cURL似乎也不会显示数据,这会更加混乱-所以cURL是基于新行刷新的?
setTimeout(function(){res.end();}, 5000);
Hello world
world