EventSource

EventSource 对象接口用于接收服务器发送的事件。它通过 HTTP 连接到服务器,已 text/event-stream 格式接收事件,不关闭连接。

EventSource 对象主要用于 Server-Sent Events(简称 SSE)的技术。这是一种能让浏览器通过 HTTP 连接自动收到服务器端更新的技术。

这个技术的作用是可以完成从服务器端到客户端(浏览器)单向的消息传递。因此我们可以用这个来做推送。不过需要注意的是,IE 并不支持这项技术。

W3C 关于 Server-Sent Events 部分的描述 W3C Server-Sent Events

构造函数

const eventSource = new EventSource();

属性

此接口从其父接口 EventTarget 继承属性。

属性说明
EventSource.onerror当发生错误时被调用,并且在此对象上派发 error 事件
EventSource.onmessage服务器端发送给客户端一条消息时触发
EventSource.onopenSSE 连接刚打开时触发
EventSource.readyState表示连接状态(CONNECTINGOPENCLOSED
EventSource.url代表源头的 URL

方法

方法说明
EventSource.close()如果存在,则关闭连接,