EventSource
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
Интерфейс EventSource
используется для получения серверных событий (Server-sent events). Он устанавливает соединение с сервером по HTTP и получает события в формате text/event-stream без закрытия соединения.
Вы можете присвоить атрибуту onmessage
JavaScript-функцию для получения нетипизированных сообщений (то есть сообщений без поля event
). Вы так же можете вызвать функцию addEventListener()
для обработки событий так же, как для любого другого источника событий.
См. Using server-sent events для более детальной информации
Свойства
Attribute | Type | Description |
---|---|---|
onerror |
nsIDOMEventListener |
JavaScript-функция, вызываемая при появлении ошибки |
onmessage |
nsIDOMEventListener |
JavaScript-функция, вызываемая при приходе сообщения без поля event |
onopen |
nsIDOMEventListener |
JavaScript-функция, вызываемая после открытия соединения |
readyState |
long |
Состояние соединения, должно иметь одно из значений CONNECTING , OPEN , или CLOSED . Только для чтения |
url |
DOMString |
Только для чтения |
В дополнение к открытым атрибутам два внутренних атрибута, которые не открыты напрямую:
- reconnection time
-
Это время в миллисекундах, используемое для определения продолжительности ожидания после неудачной попытки соединения до повторного соединения
- last event ID string
-
По умолчанию пустая строка. Сервер может отправлять сообщение с полем
id
для установки этого значения.
Константы
Constant | Value | Description |
---|---|---|
CONNECTING |
0 |
Соединение устанавливается |
OPEN |
1 |
Соединение открыто, получение событий |
CLOSED |
2 |
Соединение не устанавливается, закрыто, или произошла фатальная ошибка |
Методы
close()
Закрывает соединение, если оно существует и устанавливает атрибут readyState
в значение CLOSED
. Если соединение уже закрыто, этот метод ничего не делает.
void close();
Параметры
Нет
Спецификации
Specification |
---|
HTML Standard # the-eventsource-interface |
Совместимость с браузерами
BCD tables only load in the browser