Могу ли я отправить несколько ответов через node.js на клиент?
-
22-10-2019 - |
Вопрос
я использую Node.js
И я хочу отправить несколько ответов на клиента. Таким образом, клиент отправит запрос Post Ajax и вернет некоторые данные. Но сервер должен продолжать выполнять некоторую обработку, и когда это будет сделано, я хочу, чтобы он отправил больше данных обратно.
Я знаю, что это хороший кандидат на 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