SuperAPI AI 工具集

listening-to-tauri-events

编程与开发

查看项目

更新于 10-15 20:06

技能介绍

用途:讲解在 Tauri v2 应用前端如何通过 @tauri-apps/api/event 模块订阅 Rust 端发出的事件。

主要能力:区分全局事件(广播到所有 webview)与 webview 专属事件(定向到特定窗口),并强调 webview 专属事件不会被全局监听器接收。支持 listen 持续监听、once 一次性监听,以及带泛型的类型化事件载荷。事件回调接收 Event<T> 对象,含 event、id、payload 字段。

使用方式:安装核心包 npm install @tauri-apps/api(或 pnpm add / yarn add)。全局监听用 listen('事件名', 回调),返回 unlisten 函数用于取消订阅;webview 专属监听用 getCurrentWebviewWindow().listen(...)。React、Vue、Svelte 中需在卸载钩子调用 unlisten 清理。页面刷新或 URL 导航会自动清理监听器,但 SPA 路由不触发整页刷新时不会自动清理,必须手动取消订阅。

适用场景:下载进度、登录结果、通知、状态变更等 Rust 向前端推送事件的场景。

限制:资料未提供收费、价格、平台与效果信息;需自行匹配监听范围与发射范围(emit_to 对应 webview 监听)。