Есть ли событие для проверки того, что XHR успешно установил соединение с сервером? - PullRequest
0 голосов
/ 10 октября 2019

У меня длительный опрос в веб-приложении, которое устанавливает соединение с сервером и ожидает внешнего события сервера перед получением ответа. Длинный опрос происходит через XHR. Требуется вызвать событие в веб-приложении после успешного установления длинного опроса с сервером.

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

  1. https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState
  2. https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#Events

Основываясь на моем собственном тестировании, я убедился, что:

  • readyState не меняется с 1 на 2 доСервер начинает отправлять ответ
  • onloadstart Событие инициируется только за до запроса на сервер. Журналы сервера подтверждают, что когда браузер генерирует событие, соединение еще не было установлено

Теперь я думаю, что мне может понадобиться сделать что-то более сложное, включая HTTP-ответ в диапазоне 1xx, а затем в конечном итогеотправка ответа при срабатывании события сервера. Идея состоит в том, что когда сервер отправляет некоторый заголовок или HTTP-код, readyState изменится с 1 до 2 в браузере, что позволит мне узнать, что длинный опрос успешно установлен.

Я использую весеннюю загрузку на стороне сервера (если это помогает).

Но я хотел бы посоветоваться с сообществом, прежде чем спуститься в эту кроличью нору. Может быть, я упускаю что-то очевидное. скрестив пальцы

Заранее спасибо.

...