callAPI static method

Future<TUIValueCallBack<String>> callAPI(
  1. String apiName,
  2. String jsonParam
)

Implementation

static Future<TUIValueCallBack<String>> callAPI(String apiName, String jsonParam) {
  String userData = Tools.generateRoomUserData();
  Completer<TUIValueCallBack<String>> completer = Completer();
  _valueCallback2Future<String>(userData, completer);
  final syncResult = _engineSDK.Dart_CallAPI(_engineFFIPointer, Tools.string2PointerChar(apiName),
      Tools.string2PointerChar(jsonParam), Tools.string2PointerChar(userData));
  final result = Tools.pointerChar2String(syncResult);
  calloc.free(syncResult);
  if ("isAsyncAPI" == result) {
    return completer.future;
  }
  _valueCallbackMap.remove(userData);
  return Future.value(TUIValueCallBack(code: TUIError.success, message: '', data: jsonEncode([result])));
}