runBackendMethod<TVal extends Object, TResponse extends Object> method
Future<TResponse>
runBackendMethod<TVal extends Object, TResponse extends Object>(
- TEvent eventId, [
- 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;
}