5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-06 06:30:14 +08:00
wails/mkdocs-website/docs/zh/API/mainthread.md
2023-11-02 20:53:59 +11:00

1.5 KiB
Raw Blame History

主线程函数

这些方法是在主线程上运行代码的实用函数。当您想要在UI线程上运行自定义代码时这是必需的。

InvokeSync

API: InvokeSync(fn func())

此函数以同步方式运行传入的函数(fn)。它使用一个WaitGroupwg)确保主线程在fn函数完成之前等待,然后才继续执行。如果在fn内部发生恐慌,它将传递给应用程序选项中定义的处理程序函数PanicHandler

InvokeSyncWithResult

API: InvokeSyncWithResult[T any](fn func() T) (res T)

此函数与InvokeSync(fn func())类似,但它返回一个结果。可用于调用具有单个返回值的任何函数。

InvokeSyncWithError

API: InvokeSyncWithError(fn func() error) (err error)

此函数同步运行fn并返回fn产生的任何错误。请注意,如果在fn执行期间发生恐慌,此函数将从恢复。

InvokeSyncWithResultAndError

API: InvokeSyncWithResultAndError[T any](fn func() (T, error)) (res T, err error)

此函数同步运行fn并返回类型为T的结果和一个错误。

InvokeAsync

API: InvokeAsync(fn func())

此函数以异步方式运行fn。它在主线程上运行给定的函数。如果在fn内部发生恐慌,它将传递给应用程序选项中定义的处理程序函数PanicHandler


注意:这些函数将阻塞执行,直到fn完成。确保fn不会阻塞至关重要。如果需要运行阻塞函数,请改用InvokeAsync