Realtime
Realtime in the JavaScript SDK.
// access
nexus.realtime| Symbol | Kind | Summary |
|---|---|---|
EventHandler | type | |
NexusRealtime | class | Realtime messaging over Socket.IO. |
EventHandler
typeexport type EventHandler = (data: unknown) => void;NexusRealtime
classRealtime messaging over Socket.IO. Authenticated with the API key + journey
identity. socket.io-client is an optional peer dependency (loaded on demand).
NexusRealtime
constructornew NexusRealtime(cfg: ResolvedConfig, id: NexusIdentity)Parameters
Prop
Type
Returns NexusRealtime
isConnected
propertyreadonly isConnected: booleanconnect()
methodasync connect(): Promise<void>Open the connection. Idempotent, and safe under concurrent callers — a connection already open (or being opened) is reused, never duplicated. Rooms are re-joined after every reconnect.
View sourcejoin()
methodasync join(room: string): Promise<unknown>Join a room. Idempotent — a room already joined this session is not
re-emitted (the reconnect handler re-joins it automatically). Returns the
server ack ({ ok, room, related }), or a synthetic ack when already joined.
Parameters
Prop
Type
Returns Promise<unknown>
leave()
methodasync leave(room: string): Promise<unknown>Leave a room.
Parameters
Prop
Type
Returns Promise<unknown>
emit()
methodasync emit(room: string, event: string | string[], payload?: unknown): Promise<unknown>Emit one or more named events to a room with a payload.
Parameters
Prop
Type
Returns Promise<unknown>
on()
methodon(event: string, handler: EventHandler): () => voidListen for a server event. Multiple handlers per event are supported. Registering the SAME handler twice is a no-op (never stacks a duplicate socket listener). Returns an unsubscribe function — call it (e.g. from a component's teardown) instead of leaking a listener on every remount.
Parameters
Prop
Type
Returns () => void
off()
methodoff(event: string, handler?: EventHandler): voidStop listening. With a handler, removes just that one; without, removes every handler for the event.
Parameters
Prop
Type
disconnect()
methoddisconnect(): void