Выполнять код каждую установленную сумму вокруг асинхронной функции
У меня есть этот код:
app.post('/pst', function(req, res) {
var url = req.body.convo;
res.render('processing.ejs');
myAsyncFunction(url).then(result => {
console.log('TAKE A LOOK AT THIS!');
//take result and send it as text to the client code goes here
}).catch(err => {
console.log(err);
res.render('error.ejs');
})
});
Когда пользователь отправляет сообщение POST, запускается длительная асинхронная функция. Когда это закончено, это передает данные клиенту как текстовый файл. Это прекрасно работает в Localhost, но есть ошибки, когда я загрузил в Heroku. Поскольку функция длинная, для ответа требуется время. Но Heroku вызывает H12 error
, ошибка тайм-аута, через 30 секунд
без ответа пройти мимо.
Это было предложено мне пользователем Jfriend00, я могу сделать res.write("")
периодически записывать байт в ответ, чтобы сохранить
связь жива.
То, что я спрашиваю, в этой структуре кода.. Можно ли сделать res.write("")
каждые, например, 25 секунд, в то время как
работает асинхронная функция? Если да, то как мне структурировать мой код для достижения этой цели?