EventSource ↗ 接口是一个服务器推送事件 API,允许服务器向客户端推送事件。EventSource 对象用于接收服务器推送的事件。它通过 HTTP 连接到服务器,并以文本格式接收事件。
let eventSource = new EventSource(url, options);urlUSVString - 要连接到的 URL。optionsEventSourceInit - 可选字典,包含任何可选设置。
默认情况下,EventSource 会在底层使用全局 fetch() 函数发起请求。如果您需要使用 Cloudflare Workers 绑定提供的不同 fetch 实现,可以传递 fetcher 选项:
export default {
async fetch(req, env) {
let eventSource = new EventSource(url, { fetcher: env.MYFETCHER });
// ...
}
};请注意,fetcher 选项是 Cloudflare Workers 特有的扩展。
eventSource.urlUSVString read-only- 事件源的 URL。
eventSource.readyStateUSVString read-only- 连接状态。
eventSource.withCredentialsBoolean read-only- 布尔值,指示
EventSource对象实例化时是否设置了跨源(CORS)凭据(true)或未设置(false)。
- 布尔值,指示
eventSource.close()- 关闭连接。
eventSource.onopen- 连接打开时调用的事件处理程序。
eventSource.onmessage- 收到消息时调用的事件处理程序。
eventSource.onerror- 发生错误时调用的事件处理程序。
message- 收到消息时触发。
open- 连接打开时触发。
error- 发生错误时触发。
-
EventSource.from(readableStreamReadableStream) : EventSource- 这是 Cloudflare Workers 特有的扩展,从现有的
ReadableStream创建新的EventSource对象。此类实例不会发起新连接,而是附加到提供的流。
- 这是 Cloudflare Workers 特有的扩展,从现有的