runBackendMethod<TVal extends Object, TResponse extends Object> method

  1. @protected
Future<TResponse> runBackendMethod<TVal extends Object, TResponse extends Object>(
  1. TEvent eventId, [
  2. TVal? value
])

Method for sending event with any data to backend

Implementation

@protected
Future<TResponse> runBackendMethod<TVal extends Object, TResponse extends Object>(TEvent eventId, [TVal? value]) async {
  assert(_isInitialized, 'You must call "initBackend" method before send data');
  final Completer<TResponse> completer = Completer();
  final String code = Utils.generateCode(eventId);
  _syncResults[code] = completer;
  final _Message<TEvent, TVal?> message = _Message(eventId, value: value, code: code);
  if (_canLog) {
    Logger.runBackendMethod(eventId, value);
  }
  _toBackend.send(message);
  final TResponse result = await completer.future;
  if (_canLog) {
    Logger.gotFromBackendMethod(eventId, value);
  }
  return result;
}