Сообщение от Aetae
|
Есть много разных способов.
Самый примитивный: сделать на сервере эндпоинт типа /progress/<id>, который будет возвращать текущий статус и после запуска долбить этот эндпоинт раз в секунду или типа того.
По сложнее: использовать websocket\Server Sent Events и слать оповещения о прогрессе там.
Не слишком хороший(потому что перезагрузка вкладки всё сломает): не завершать запрос при запуске процесса, а постепенно досылать прогресс в него(типа long polling).
|
Начал писать ...возникли вопросы...Сам процесс запускается с фронтенда по эндпоинту
router.post("/process", authenticateToken, async (req, res) => {...})
Внутри него в цикле идет обработка JSONа и формирование репорта.
В этом цикле вставил несколько
вызовов функции, в которую передаю процент завершения. (это все в Node)..
Но как из фронтенда получать данные из этой функции. Можно конечно в базу данных писать процент завершения...и отдельным запросом считывать это значение с фронтенда...но это неверно будет неправильно.