Выполнять код каждую установленную сумму вокруг асинхронной функции - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть этот код:

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 секунд, пока

работает асинхронная функция?Если да, то как мне структурировать мой код для достижения этой цели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...