Использование Stream Response позволит клиенту видеть обновление в реальном времени, а серверу не отвалиться с тайм-аутом при долгом ответе.
// express.js init
// ...
app.use('/stream', (req, res, next) => {
// использование text/plain не включает stream
res.setHeader('Content-Type', 'text/html; charset=utf-8');
res.setHeader('Transfer-Encoding', 'chunked');
res.write("Thinking...");
sendAndSleep(res, 1);
});
var sendAndSleep = function (response, counter) {
if (counter > 10) {
response.end();
} else {
response.write(" ;i=" + counter);
counter++;
setTimeout(function () {
sendAndSleep(response, counter);
}, 1000)
};
};