emit method
Emits a custom realtime event to the server with an optional
payload, and awaits an optional response.
Implementation
Future<Object?> emit(String event, [Object? payload]) async {
final requestId = _nextRequestId();
final completer = Completer<Object?>();
_pendingEmits[requestId] = completer;
try {
await _webSocketService.send({
'type': 'realtime:emit',
'event': event,
'requestId': requestId,
'payload': payload,
});
} on Object catch (error, stackTrace) {
_pendingEmits.remove(requestId);
completer.completeError(error, stackTrace);
}
return completer.future;
}