Skip to content

EventSource ​

Server-Sent Events 客户端。向 URL 打开一条长连接,接收 text/event-stream 流,在 EventSource 上派发具名事件;断线后带着最后的事件 ID 自动重连。

全局 ​

Global类型
EventSourceclass

API ​

js
const src = new EventSource('https://example.com/events');
src.onmessage = (ev) => console.log('default', ev.data);
src.addEventListener('update', (ev) => console.log('update', ev.data));
src.onerror = () => console.log('reconnecting…');
// src.close();   // 停止接收
成员说明
new EventSource(url, init?)连接;init.withCredentials 控制凭据
onmessage默认通道事件处理
addEventListener(type, fn)命名事件订阅(从 event: 行解析)
close()停止接收并终止重连
readyState0 连接中、1 已打开、2 已关闭

说明 ​

  • 若服务器给出 retry: 字段则按其重连,否则用默认延迟。
  • Last-Event-ID 头携带最后收到的 id:,让服务器可续传流。

MIT 许可证