EventSource

La interfaz EventSource se utiliza para recibir eventos server-side. Se realiza la conexión a un servidor sobre HTTP y se reciben eventos en formato text/event-stream sin tener que cerrar la conexión.

Constructor

EventSource() (en-US)
Crea un nuevo EventSource a partiendo de un valor USVString (en-US).

Propiedades

Esta interfaz también heredará propiedades de su antecesor, EventTarget.

EventSource.readyState (en-US) Read only
Un número representando el estado de la conexión. Los valores posibles son CONECTANDO (0), ABIERTO (1), o CERRADO (2).
EventSource.url (en-US) Read only
Un valor DOMString representando la URL de la fuente.
EventSource.withCredentials (en-US) Read only
Un valor Boolean (en-US) indicando si el objecto EventSource ha sido instanciado con credeciales CORS disponibles (true) o no (false, valor por defecto).

Manejadores de Eventos

EventSource.onerror (en-US)
En un event handler que se invoca cuando ocurre un error y se envía el evento error (en-US) a través del objeto EventSource.
EventSource.onmessage (en-US)
Es un event handler que se invoca cuando se recibe un evento message, que indica que se ha enviado un mensaje desde la fuente.
EventSource.onopen
Es un event handler que se invoca cuando se recibe un evento open, que sucede en el momento que la conexión se abre.

Métodos

Esta interfaz también heredará métodos de su antecesor, EventTarget.

EventSource.close() (en-US)
Cierra la conexión, si ésta existe, y asigna el valor CLOSED al atributo readyState. Si la conexión ya estaba cerrada, este método no hace nada.

Ejemplos

var evtSource = new EventSource('sse.php');
var eventList = document.querySelector('ul');

evtSource.onmessage = function(e) {
  var newElement = document.createElement("li");

  newElement.textContent = "message: " + e.data;
  eventList.appendChild(newElement);
}

Nota: Está disponible un ejemplo completo en GitHub — ver Simple SSE demo using PHP.

Especificaciones

Especificación Estado Comentario
HTML Living Standard
La definición de 'EventSource' en esta especificación.
Living Standard

Compatibilidad de navegadoresEdit

BCD tables only load in the browser

Ver también