Junior — Middle
Чӣ тавр муайян кардан мумкин аст, ки иҷрои контексти ҳозира қатъ ё бекор карда шудааст?
sobes.tech AI
Ҷавоб аз AI
Дар Go, барои муайян кардани он ки иҷрои контексти ҳозира қатъ ё бекор карда шудааст, усули Done()-и объекти context.Context истифода мешавад. Ин усул каналеро бармегардонад, ки вақте контекст бекор карда мешавад, баста мешавад. Санҷиш одатан чунин аст:
select {
case <-ctx.Done():
// Контекст бекор ё тамом шудан ё вақти тамом шудан
err := ctx.Err() // context.Canceled ё context.DeadlineExceeded
// Ҳалли бекор кардан
default:
// Давом додан ба кор
}
Агар канал ctx.Done() баста бошад, маънои онро дорад, ки иҷро бояд қатъ карда шавад.