我可以通过node.js发送多个响应给客户端吗?
-
22-10-2019 - |
题
我在用着 Node.js
我想向客户发送多个响应。因此,客户将发送AJAX POST请求,并收回一些数据。但是服务器必须继续进行一些处理,并且完成操作后,我希望它将更多数据发送回。
我知道这是一个很好的候选人 Socket.io
, ,但我还没有真正看到如何使用的例子 socket.io
在MVC框架的上下文中。它会进入控制器吗?
解决方案
您可以使用服务器发送的事件。这是一个例子:
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");
});
});
}
不隶属于 StackOverflow