Sobes.tech
Junior — Middle

Чӣ тавр муайян кардан мумкин аст, ки иҷрои контексти ҳозира қатъ ё бекор карда шудааст?

sobes.tech AI

Ҷавоб аз AI

Дар Go, барои муайян кардани он ки иҷрои контексти ҳозира қатъ ё бекор карда шудааст, усули Done()-и объекти context.Context истифода мешавад. Ин усул каналеро бармегардонад, ки вақте контекст бекор карда мешавад, баста мешавад. Санҷиш одатан чунин аст:

select {
case <-ctx.Done():
    // Контекст бекор ё тамом шудан ё вақти тамом шудан
    err := ctx.Err() // context.Canceled ё context.DeadlineExceeded
    // Ҳалли бекор кардан
default:
    // Давом додан ба кор
}

Агар канал ctx.Done() баста бошад, маънои онро дорад, ки иҷро бояд қатъ карда шавад.