У меня длительный опрос в веб-приложении, которое устанавливает соединение с сервером и ожидает внешнего события сервера перед получением ответа. Длинный опрос происходит через XHR. Требуется вызвать событие в веб-приложении после успешного установления длинного опроса с сервером.
Я попытался просмотреть несколько ресурсов, предполагая, что должен быть обратный вызов, сообщающий мне, что XHR успешно установил соединение с сервером.
- https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState
- https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#Events
Основываясь на моем собственном тестировании, я убедился, что:
readyState
не меняется с 1
на 2
доСервер начинает отправлять ответ onloadstart
Событие инициируется только за до запроса на сервер. Журналы сервера подтверждают, что когда браузер генерирует событие, соединение еще не было установлено
Теперь я думаю, что мне может понадобиться сделать что-то более сложное, включая HTTP-ответ в диапазоне 1xx, а затем в конечном итогеотправка ответа при срабатывании события сервера. Идея состоит в том, что когда сервер отправляет некоторый заголовок или HTTP-код, readyState
изменится с 1
до 2
в браузере, что позволит мне узнать, что длинный опрос успешно установлен.
Я использую весеннюю загрузку на стороне сервера (если это помогает).
Но я хотел бы посоветоваться с сообществом, прежде чем спуститься в эту кроличью нору. Может быть, я упускаю что-то очевидное. скрестив пальцы
Заранее спасибо.