文章简介调整
This commit is contained in:
1 parent
dd40b393fe
commit
e13f581ea6
1 file changed
-2
@@ -26,8 +26,6 @@ lastUpdated: 2025-01-21T10:34:34
|
||||
> :black_nib: 文章摘要
|
||||
|
||||
<!-- DESC SEP -->
|
||||
在使用 Tauri 开发时,可以通过 `command` 来让前端调用后端,或通过 `emit` 实现后端触发前端事件。`emit` 的设计初衷是为了能够触发多个任务,尤其适用于后端错误信息的传递。在一些场景中,比如后端出错时,利用全局的 `emit` 可以方便地将错误信息传递给前端进行展示或处理。
|
||||
|
||||
在 Tauri 中,前端通过 `listen` API 来监听特定事件,而后端则通过 `AppHandle` 中的 `emit` 方法触发这些事件。然而,由于 `AppHandle` 的生命周期问题,它不能作为全局对象存储,这就引发了一个问题:如何在没有前端 `command` 触发的情况下,从后端触发全局的 `emit`。
|
||||
|
||||
为了解决这个问题,笔者提出了一种通过创建异步任务管理器的方法。通过使用 Tokio 创建一个后台线程来监听 `mpsc` 通道,后端可以通过该通道发送全局错误消息。当错误发生时,消息通过通道发送到前端,前端通过 `emit` API 处理并展示这些信息。此方案避免了 `AppHandle` 的生命周期问题,并保证了全局事件的触发机制。
|
||||
|
||||
Reference in new issue
Block a user