Junior — Middle
Cari kontekstin icrası dayandırılıb və ya ləğv edilib-edilmədiyini necə müəyyən etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da, mövcud kontekstin icra ediləninin dayandırıldığını və ya ləğv olunduğunu müəyyən etmək üçün context.Context obyektinin Done() metodundan istifadə olunur. Bu metod, kontekst ləğv olunduqda bağlanan bir kanal qaytarır. Yoxlama adətən belə edilir:
select {
case <-ctx.Done():
// Kontekst ləğv olundu və ya vaxt keçdi
err := ctx.Err() // context.Canceled və ya context.DeadlineExceeded
// Ləğv etməni emal et
default:
// İşə davam et
}
Beləliklə, əgər ctx.Done() kanalı bağlanıbsa, bu, icranın dayandırılması lazım olduğunu göstərir.