sendInstancePropertiesGet method

  1. @override
Future<ReturnParams> sendInstancePropertiesGet(
  1. dynamic instanceOrId,
  2. String serviceName,
  3. dynamic nativeClass
)
override

Warning: IOS暂不支持正向调用,sendInstancePropertiesGet和member set之间未做强制同步,只能依赖于消息顺序。 场景1: newInstance 之后不能立即调用 sendInstancePropertiesGet。IOS Member Set 和 sendInstancePropertiesGet在时序上属于异步 场景1例子: $p.UserInfo userInfo = $p.UserInfo(extraInfo: "111", uid: "111"); print("YEMOMO TEST: ${await (userInfo.$instance as $p_i.ByteRTCUserInfo).sendInstancePropertiesGet(userInfo.$instance)}");

Implementation

@override
Future<ReturnParams> sendInstancePropertiesGet(
  dynamic instanceOrId,
  String serviceName,
  dynamic nativeClass,
) async {
  try {
    final params = CallParams(
      callType: CallType.instancePropertiesGet,
      serviceName: serviceName,
      instanceId: instanceOrId is String
          ? instanceOrId
          : proto.encodeArg(instanceOrId)['_instanceId'],
    );

    await nativeClass.ready;

    return await _bridge.callApi(params);
  } catch (e) {
    logger.error('[message-sender] Properties get failed:', [e]);
    rethrow;
  }
}