Subscribes to changes on a table and returns an `AsyncStream>` of events.
Important
Live queries require the WebSocket client.
Method Syntax
try await client.live(query)Arguments
Arguments | Description |
|---|---|
query | A live query built with SurrealDSL.live(_:)or the #livemacro. |
Example usage
let stream = try await client.live(SurrealDSL.live(Person.self))
for await event in stream {
switch event.action {
case .create:
print("Created:", event.decoded as Any)
case .update:
print("Updated:", event.decoded as Any)
case .delete:
print("Deleted record:", event.recordID)
case .killed:
print("Live query was killed")
}
}See Live queries for a full walkthrough, and kill to stop a subscription.