简介
此模块定义了跨平台通用的基础类型,为 API 调用提供统一的错误处理和回调机制。
功能特性
回调机制:提供统一的完成回调闭包类型。
数据结构
CompletionClosure
提供基础类型定义,包括错误处理结构、回调闭包类型和响应式状态管理工具。
public typealias CompletionClosure = (Result<Void, ErrorInfo>) -> Void
ErrorInfo
错误信息结构。
属性 | 类型 | 说明 |
code | Int | 错误码。 |
message | String | 错误消息描述。 |
StatePublisher
状态发布者。
StatePropertySelector
状态属性选择器协议。
StatePublisherSelector
状态发布器选择器。
ExperimentalEventCallback
实验性事件回调,回传 roomID 和 JSON 负载。
ExperimentalAPICallback
实验性 API 调用完成回调,回传错误码、错误信息和引擎返回的 JSON 字符串。
ListResultCompletionClosure
列表结果完成回调接口。
用于返回分页列表的异步操作结果回调接口。 Swift 的
Result 是一个泛型枚举,包含两种情况:.success(value):操作成功,关联值为成功结果。.failure(error):操作失败,关联值为错误信息。### 使用示例。
// 定义使用 ListResultCompletionClosure 的方法func fetchUserList(cursor: String, completion: @escaping ListResultCompletionClosure<User>) {// 异步操作...}// 调用方法并处理 ResultfetchUserList(cursor: "") { result inswitch result {case .success(let (users, nextCursor)):// 处理成功 - users 是 [User],nextCursor 是 Stringprint("获取了 \\(users.count) 个用户,下一页游标:\\(nextCursor)")for user in users {print("用户:\\(user.name)")}case .failure(let error):// 处理失败 - error 是 ErrorInfoprint("错误码:\\(error.code),错误信息:\\(error.message)")}}
使用示例
// CompletionClosure 使用 Swift 的 Result 类型:// - .success(Void):操作成功// - .failure(ErrorInfo):操作失败func someAsyncOperation(completion: @escaping CompletionClosure) {// 异步操作...}someAsyncOperation { result inswitch result {case .success:print("操作成功")case .failure(let error):print("错误码:\\(error.code),错误信息:\\(error.message)")}}