该技能用于在 Electrobun 桌面应用中实现类型安全、高性能的 RPC 通信,主要面向主进程(bun)与 webview(browser)之间的双向调用。
主要能力:通过共享类型文件定义 MainRpcHandlers 与 WebviewRpcHandlers 接口,主进程用 win.defineRpc<MainRpcHandlers> 注册处理器,webview 用 electroview.defineRpc<WebviewRpcHandlers> 注册处理器,并以 electroview.rpc as MainRpcHandlers 获得类型推断与 IntelliSense。
错误处理:示例定义 RpcError、ValidationError、NotFoundError 等自定义错误类型,在处理器中校验输入并抛出,webview 侧按 error.code 分支处理;另提供 withRetry 重试函数,支持最大重试次数与递增延迟。
性能优化:BatchRpc 类在 10ms 窗口内合并调用并交由 executeBatch 批量执行;CachedRpc 类以方法名加参数为键做 TTL 缓存(示例 60 秒)并支持按方法失效;流式部分用 async* 生成器分块传输文件或日志,webview 用 for await 消费并更新进度;事件订阅通过 DataService 的 subscribe/emit 与 handleUpdate 处理器推送更新。
高级模式:CorrelatedRpc 用请求 ID 与超时映射关联请求响应;DataSync 演示主进程与 webview 的双向数据同步与防重入。
适用场景:需要在 Electrobun 中构建类型安全、可维护的进程间通信,处理大文件流、实时更新或高频调用的桌面应用。
限制:资料未提供安装命令、版本要求、性能基准与平台支持范围;示例依赖 Bun 与 Electrobun 的 API,实际使用需按项目环境调整。