on()
on(type, filter, callback): RealtimeChannel
Listen for channel events. Bind presence and postgres_changes before subscribe().
Parameters
type
"broadcast" | "presence" | "postgres_changes" | "system"
Event type
filter
object
Filter, such as { event } or a Postgres CDC filter
callback
(payload) => void
Event callback
Response
RealtimeChannel
RealtimeChannel
Current channel, for chaining
Example
- Broadcast
- Presence
- Postgres CDC
channel.on("broadcast", { event: "cursor-pos" }, (payload) => {
console.log(payload.event, payload.payload);
});
channel
.on("presence", { event: "sync" }, () => {
console.log(channel.presenceState());
})
.on("presence", { event: "join" }, ({ newPresences }) => {
console.log(newPresences);
})
.on("presence", { event: "leave" }, ({ leftPresences }) => {
console.log(leftPresences);
});
channel.on(
"postgres_changes",
{ event: "*", schema: "public", table: "messages" },
(payload) => {
console.log(payload.eventType, payload.new, payload.old);
}
);