emit method

Future<Object?> emit(
  1. String event, [
  2. Object? payload
])

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;
}