on().subscribe()创建一个事件处理程序,用于监听变更。

  • 默认情况下,广播(Broadcast)和在线状态(Presence)对所有项目都是启用的。
  • 对于新项目,默认情况下禁用了监听数据库变更,原因是出于数据库性能和安全方面的考虑。你可以通过管理实时数据的复制功能来启用它。
  • 你可以通过将表的 REPLICA IDENTITY 设置为 FULL(例如,执行 ALTER TABLE your_table REPLICA IDENTITY FULL;),来接收更新和删除操作的"之前"的数据。
  • 删除语句(delete statements)不适用行级安全(Row level security)。当启用行级安全并将复制标识(replica identity)设置为 full 时,只有主键会被发送到客户端。

案例教程

案例1 (监听广播消息)

案例2 (监听在线状态同步)

案例3 (监听用户加入状态)

案例4 (监听用户离开状态)

案例5 (监听所有数据库变更)

案例6 (监听特定表格)

案例7 (监听插入操作)

案例8 (监听更新操作)

案例9 (监听删除操作)

案例10 (监听多个事件)

案例11 (监听行级别变更)

参数说明

  • 类型(type) [必要参数] 类型为 "broadcast" 的字符串

    可选值为 “broadcast”、“presence” 或 “postgres_changes”。

  • filter [必要参数] object类型

    针对实时功能(realtime功能)的自定义对象,用于详细说明要接收哪些有效载荷(payloads)。

      特性
    • event [必要参数] string类型

  • callback [必要参数] 函数类型

    当事件处理程序被触发时要调用的函数。