sendSync method

Future<Map<String, dynamic>> sendSync(
  1. Map<String, dynamic> obj
)

Synchronously send td function (it will wait until get the result) This is handled by dart side service, not by native td execute function Because td client doesn't allow some functions executing synchronously

Implementation

Future<Map<String, dynamic>> sendSync(Map<String, dynamic> obj) {
  int extra;
  if (obj.containsKey('@extra')) {
    extra = obj['@extra'];
  } else {
    extra = _generateUniqueExtra();
    obj['@extra'] = extra;
  }
  final completer = Completer<Map<String, dynamic>>();
  _callbacks[extra] = completer;
  if (beforeSend != null) {
    beforeSend!(obj);
  }
  _client.send(obj);
  return completer.future;
}