Skip to content

示例

计数器见概述。Hibernation 在本地这一个 workerd 上运行。

计数器

概述Counter 示例。

Hibernation WebSocket

ts
export class Room {
  constructor(private readonly ctx: DurableObjectState) {}
  async fetch(request: Request): Promise<Response> {
    const pair = new WebSocketPair();
    this.ctx.acceptWebSocket(pair[1]);
    return new Response(null, { status: 101, webSocket: pair[0] });
  }
  async webSocketMessage(ws: WebSocket, message: string | ArrayBuffer): Promise<void> {
    ws.send(typeof message === "string" ? message : "bin");
  }
}

完整 hibernation API 见 WebSockets。Alarms 示例见 alarms