1.8 KiB
Prif Swyddogaethau Trywydd
Mae'r dulliau hyn yn swyddogaethau cymorth i redeg cod ar y prif drywydd. Mae hyn yn ofynnol pan fyddwch am redeg cod cyfaddas ar y llwyfan UI.
InvokeSync
API: InvokeSync(fn func())
Mae'r swyddogaeth hon yn rhedeg y swyddogaeth a drosglwyddwyd (fn
) yn ddilynebol. Mae'n defnyddio WaitGroup
(wg
) i sicrhau bod y prif drywydd yn aros i fn
swyddogaeth orffen
cyn iddo barhau. Os bydd panig yn digwydd o fewn fn
, bydd yn cael ei drosglwyddo i'r
swyddogaeth trin panig PanicHandler
, a ddiffinnir yn opsiynau'r cymhwysiad.
InvokeSyncWithResult
API: InvokeSyncWithResult[T any](fn func() T) (res T)
Mae'r swyddogaeth hon yn gweithio'n debyg i InvokeSync(fn func())
, fodd bynnag, mae'n rhoi
canlyniad. Defnyddiwch hyn ar gyfer galw unrhyw swyddogaeth gyda un canlyniad yn unig.
InvokeSyncWithError
API: InvokeSyncWithError(fn func() error) (err error)
Mae'r swyddogaeth hon yn rhedeg fn
yn ddilynebol ac yn dychwelyd unrhyw wall a gynhyrchir gan fn
.
Sylwch y bydd y swyddogaeth hon yn adfer o banig os bydd un yn digwydd yn ystod
gweithrediad fn
.
InvokeSyncWithResultAndError
API:
InvokeSyncWithResultAndError[T any](fn func() (T, error)) (res T, err error)
Mae'r swyddogaeth hon yn rhedeg fn
yn ddilynebol ac yn dychwelyd canlyniad o fath T
a
gwall.
InvokeAsync
API: InvokeAsync(fn func())
Mae'r swyddogaeth hon yn rhedeg fn
yn asyng. Mae'n rhedeg y swyddogaeth a roddir ar y
prif drywydd. Os bydd panig yn digwydd o fewn fn
, bydd yn cael ei drosglwyddo i'r
swyddogaeth trin panig PanicHandler
, a ddiffinnir yn opsiynau'r cymhwysiad.
Sylw: Bydd y swyddogaethau hyn yn rhwystro gweithrediad nes bod fn
wedi gorffen. Mae'n
hanfodol sicrhau nad yw fn
yn rhwystro. Os bydd angen i chi redeg swyddogaeth sy'n
rhwystro, defnyddiwch InvokeAsync
yn lle.