observe<T> method
Observe real-time data for a specific topic with type safety
Example with data and error handling (synchronous handlers)
final subscription = await realtime.observe<Message>('chat.room1')
.onData((event) {
print('Received message: ${event.data.text}');
})
.onError((event) {
print('Error: ${event.message}');
})
.filter(RealtimeEqFilter('room_id', 'room123'))
.subscribe();
Example with async handlers
final subscription = await realtime.observe<Message>('chat.room1')
.onData((event) async {
await processMessage(event.data);
})
.onError((event) async {
await logError(event.message);
})
.subscribe();
Example with enum-based events
final subscription = await realtime.observe<Message>('chat.room1')
.on(RealtimeObserverEvent.data, (event) {
print('Message: ${event.data}');
})
.on(RealtimeObserverEvent.error, (event) {
print('Error: ${event.message}');
})
.subscribe();
Implementation
RealtimeObserver<T> observe<T>(RealtimeTopic topic) {
return RealtimeObserver<T>._(this, topic);
}