Как отправить несколько запросов, чтобы клиент знал, что загрузка и обработка завершены? - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь выяснить, как можно отправить несколько запросов, чтобы сообщить клиенту, что загрузка и обработка завершены.

Например: сообщить клиенту, что загрузка завершена, и обработка началась,Когда обработка будет завершена, отправьте другой запрос, чтобы уведомить клиента.

Я только хочу знать, какие функции использовать, потому что кажется, что отправка двух res.write () не будет отправлена, пока я не вызову res.конец () ...

1 Ответ

0 голосов
/ 16 декабря 2018

Вы на самом деле хотите информировать клиента об обновлениях, которые происходят асинхронно на сервере / в серверной части.

В общем, есть несколько способов получения асинхронной информации для клиента:

  1. Откройте поток и отправьте обновления через поток клиенту (например, , используя server-sent-events )
  2. Откройте веб-сокет и нажмитесообщения клиенту (вам нужно управлять соединениями HTTP и websocket для записи в правильный)
  3. Создать новый маршрут, чтобы позволить клиентам подписываться на информацию о статусе задания ( пример кода)

Я бы выбрал одно из решений в зависимости от вашего текущего дизайна клиента.Если у вас уже есть что-то вроде веб-сокетов, я бы использовал это - но это довольно просто для настройки, если вы этого не сделаете.Потоковая передача может не работать в кросс-браузерном режиме, но ее довольно просто построить.Для третьего варианта вам, вероятно, понадобится дополнительная служебная работа, чтобы не создавать утечек памяти при отключении клиента.

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