我可以通过Node.js发送多个响应给客户端吗?

我正在使用Node.js ,我想发送多个响应到客户端。 所以客户端会发送一个AJAX POST请求并获取一些数据。 但是服务器必须继续做一些处理,当这些完成后,我希望它能够发送更多的数据。

我知道这是一个很好的候选人的Socket.io ,但我还没有真正看到如何在MVC框架中使用socket.io的例子。 它是否在控制器中?

你可以使用Server Sent Events。 这是一个例子:

https://github.com/chovy/nodejs-stream (完整的源代码示例)

UI

 var source = new EventSource('stream'); source.addEventListener('a_server_sent_event', function(e) { var data = JSON.parse(e.data); //do something with data }); 

节点

 if ( uri == '/stream' ) { //setup http server response handling and get some data from another service http.get(options, function(resp){ resp.on('data', function(chunk){ res.write("event: a_server_sent_event\n"); res.write("data: "+chunk.toString()+"\n\n"); }); }); }