Junior — Middle
როგორ დავადგინოთ, რომ მიმდინარე კონტექსტის შესრულება შეწყდა ან გაუქმდა?
sobes.tech AI
პასუხი AI-სგან
Go-ში, იმის განსაზღვრისთვის, შეწყვეტილია თუ არა მიმდინარე კონტექსტის შესრულება ან გაუქმებულია, გამოიყენება context.Context ობიექტის Done() მეთოდი. ეს მეთოდი აბრუნებს არხს, რომელიც იხურება, როდესაც კონტექსტი გაუქმდება. ჩვეულებრივ, შემოწმება ასე ხდება:
select {
case <-ctx.Done():
// კონტექსტი გაუქმებულია ან დრო ამოიწურა
err := ctx.Err() // context.Canceled ან context.DeadlineExceeded
// გაუქმების დამუშავება
default:
// მუშაობის გაგრძელება
}
თუ ctx.Done() არხი დახურულია, ეს ნიშნავს, რომ შესრულება უნდა შეწყდეს.