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() არხი დახურულია, ეს ნიშნავს, რომ შესრულება უნდა შეწყდეს.