Sobes.tech
Junior — Middle

Учурдагы контексттин аткарылышы үзүлүп же жокко чыгарылганын кантип аныктоого болот?

sobes.tech AI

AIден жооп

Go'да, учурдагы контексттин аткарылышы үзүлгөн же жокко чыгарылганын аныктоо үчүн, context.Context объектисинин Done() ыкмасын колдонобуз. Бул ыкма контекст жокко чыгарылганда жабылуучу каналды кайтарат. Текшерүү адатта мындайча жүргүзүлөт:

select {
case <-ctx.Done():
    // Контекст жокко чыгарылган же убакыт аяктады
    err := ctx.Err() // context.Canceled же context.DeadlineExceeded
    // Жокко чыгарууну иштетүү
default:
    // Ишти улантуу
}

Эгер ctx.Done() каналы жабылса, бул аткарууну токтотуу керектигин билдирет.