如何从 Builder 外部的新线程生成发出 Tauri 后端 (rust) 事件?

How to emit Tauri backend (rust) event from new thread spawn outside of Builder?

提问人:Michael Perelman 提问时间:10/19/2023 更新时间:10/19/2023 访问量:75

问:

我在 tauri 应用程序中有一个 rust 代码,它使用 mdns-sd 浏览 bonjour 服务,当发现时应该使用 tauri 事件系统将其传递给前端。Tauri 文档解释了如何从 Builder 函数内部发出事件,但在 Builder 运行之前,我有一个循环在单独的线程生成中运行:

...
fn main () {
   ...
   std::thread::spawn(move || {
        //browse for services here and need to pass it to frontend as found
   });
   
   tauri::Builder::default().setup...
...
}

我试图在 Builder 的 .setup 中移动生成线程,但即使存在,app 属性在线程内仍然不可用。

Rust 事件 发出 Tauri

评论

0赞 FabianLars 10/20/2023
当您将生成调用移动到设置挂钩中时,您是否也尝试将 AppHandle 移动到线程中,或者仅将 App 从设置挂钩中移动?您可以通过 app.handle() 获取 AppHandle,并且该句柄通常可以移动到线程中。

答: 暂无答案