在Express.js中使用相同的响应对象发送多个响应

Loo*_*urr 10 javascript node.js express

我有一个长时间运行的过程,需要在多个阶段发回数据.有没有办法用express.js发回多个响应

res.send(200, 'hello')
res.send(200, 'world')
res.end() 
Run Code Online (Sandbox Code Playgroud)

但当我跑完curl -X POST localhost:3001/helloworld所有的时候,我得到了hello

我怎样才能发送多个回复,或者这与快递无关?

yac*_*aka 18

使用res.write().

res.send()已经拨打电话res.end(),这意味着在调用res.send之后你不能再写res了(意思是你的res.end()电话也没用).


msc*_*dex 7

您只能为一个 HTTP 请求发送一个 HTTP 响应。但是,您当然可以在响应中写入任何类型的数据。这可以是换行符分隔的 JSON、多部分部分或您选择的任何其他格式。

如果您想将事件从服务器流式传输到浏览器,一个简单的替代方法可能是使用诸如服务器发送的事件( polyfill ) 之类的东西。