光环标志
光环基地文档
文档›JavaScript SDK reference›Realtime reference

JavaScript SDK:实时参考

实时服务和通道的每个方法都有其签名。

6分钟 读取·级别 参考·修改于 2026年10月12日
该英文文本是根据法文原文自动生成的,尚未经过审查。
该页面已自动翻译。英文版具有权威性。
#
班级

实时服务

财产描述
get connectionState(): ConnectionState当前连接状态。
get isConnected(): booleanWebSocket当前是否已连接。
方法描述
onStateChange(callback: (state: ConnectionState) => void): () => void监听连接状态的变化。
onError(callback: (err: RealtimeConnectionError) => void): () => void监听实时连接传输错误。
connect(): void确保 WebSocket 连接已打开。
refreshToken(token: string): void刷新现有连接上的 JWT 令牌(不断开连接)。
setAuth(token?: string): void显式定义/刷新用于私有和广播频道授权的令牌(奇偶校验 @supabase/realtime-js setAuth)。
httpBroadcast(channel: string, event: string, payload?: Record<string, unknown>, options?: HttpBroadcastOptions): Promise<AuraResponse<null>>通过 HTTP (REST) 发送广播,无需打开 WebSocket 连接(奇偶校验 @supabase/realtime-js)。
setAutoReconnect(enabled: boolean, maxAttempts?: number): void启用/禁用自动重新连接(默认情况下启用)。
disconnect(): void断开 WebSocket 连接并清理所有通道。
channel(name: string, options?: ChannelConfig): AuraChannel按名称创建或检索频道。
removeChannel(channel: string | AuraChannel): void按名称或 AuraChannel 实例删除通道。
getChannels(): AuraChannel[]列出活动频道。
removeAllChannels(): void删除所有频道和订阅。
#
班级

光环频道

具有 Supabase兼容可链接 API 的实时通道。

财产描述
readonly name: string传递给 realtime.channel(name)的通道名称。
get fullName(): string带项目前缀的完整通道名称(用于服务器协议)
get isSubscribed(): boolean该频道是否已被订阅。
方法描述
on<TRow = Record<string, unknown>>(type: 'postgres_changes', filter: PostgresChangesFilter & { event: 'INSERT'; }, callback: (payload: RealtimePostgresInsertPayload<TRow>) => void): AuraChannelSubscription
on<TRow = Record<string, unknown>>(type: 'postgres_changes', filter: PostgresChangesFilter & { event: 'UPDATE'; }, callback: (payload: RealtimePostgresUpdatePayload<TRow>) => void): AuraChannelSubscription
on<TRow = Record<string, unknown>>(type: 'postgres_changes', filter: PostgresChangesFilter & { event: 'DELETE'; }, callback: (payload: RealtimePostgresDeletePayload<TRow>) => void): AuraChannelSubscription
on<TRow = Record<string, unknown>>(type: 'postgres_changes', filter: PostgresChangesFilter, callback: (payload: RealtimePostgresChangesPayload<TRow>) => void): AuraChannelSubscription
on<TPayload = Record<string, unknown>>(type: 'broadcast', filter: BroadcastFilter, callback: (payload: RealtimeBroadcastEvent<TPayload>) => void): AuraChannelSubscription
on(type: 'presence', filter: PresenceFilter, callback: (payload: PresenceState | RealtimeEvent | Record<string, unknown>) => void): AuraChannelSubscription
通过 INSERT 过滤注册 PostgreSQL (CDC) 事件的侦听器。
off(type?: RealtimeListenType, filter?: PostgresChangesFilter | BroadcastFilter | PresenceFilter, callback?: (payload: unknown) => void): this从通道中删除一个或多个侦听器,而不关闭通道或切断 WebSocket。
subscribe(callback?: SubscribeCallback, timeoutMs?: number): this订阅频道。
unsubscribe(): void取消订阅频道。
send(message: BroadcastPayload): Promise<BroadcastSendStatus>在频道上发送广播消息。
track(state: Record<string, unknown>): Promise<'ok' | 'error'>跟踪该客户端的在线状态。
untrack(): Promise<'ok' | 'error'>停止跟踪存在。
presenceState(): PresenceState获取该频道的当前状态。
生成的页面

该页面是根据 SDK 的类型声明和注释生成的,因此它不会偏离已发布的代码。有关工作示例,请阅读指南。

最后更新· 2026年10月12日