跳转到内容
搜索文档

EventSource

最后更新 查看 MarkdownAgent 设置

背景

EventSource 接口是一个服务器推送事件 API,允许服务器向客户端推送事件。EventSource 对象用于接收服务器推送的事件。它通过 HTTP 连接到服务器,并以文本格式接收事件。

构造函数

let eventSource = new EventSource(url, options);
  • url USVString - 要连接到的 URL。
  • options EventSourceInit - 可选字典,包含任何可选设置。

默认情况下,EventSource 会在底层使用全局 fetch() 函数发起请求。如果您需要使用 Cloudflare Workers 绑定提供的不同 fetch 实现,可以传递 fetcher 选项:

export default {
  async fetch(req, env) {
    let eventSource = new EventSource(url, { fetcher: env.MYFETCHER });
    // ...
  }
};

请注意,fetcher 选项是 Cloudflare Workers 特有的扩展。

属性

  • eventSource.url USVString read-only
    • 事件源的 URL。
  • eventSource.readyState USVString read-only
    • 连接状态。
  • eventSource.withCredentials Boolean read-only
    • 布尔值,指示 EventSource 对象实例化时是否设置了跨源(CORS)凭据(true)或未设置(false)。

方法

  • eventSource.close()
    • 关闭连接。
  • eventSource.onopen
    • 连接打开时调用的事件处理程序。
  • eventSource.onmessage
    • 收到消息时调用的事件处理程序。
  • eventSource.onerror
    • 发生错误时调用的事件处理程序。

Events

  • message
    • 收到消息时触发。
  • open
    • 连接打开时触发。
  • error
    • 发生错误时触发。

Class Methods

  • EventSource.from(readableStreamReadableStream) : EventSource
    • 这是 Cloudflare Workers 特有的扩展,从现有的 ReadableStream 创建新的 EventSource 对象。此类实例不会发起新连接,而是附加到提供的流。

这篇文档对您有帮助吗?