Junior — Middle
Əməliyyatların icra müddətini məhdudlaşdırmaq üçün Context.WithTimeout metodundan istifadə etdinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, Go dilində context.WithTimeout metodu tez-tez şəbəkə sorğuları, verilənlər bazaları və ya digər uzunmüddətli proseslərlə işləyərkən əməliyyatların icra müddətini məhdudlaşdırmaq üçün istifadə olunur.
O, müəyyən edilmiş vaxt keçdikdən sonra avtomatik olaraq ləğv olunan yeni kontekst yaradır, bu da donma hallarını qarşısını almağa və vaxt limitlərini idarə etməyə kömək edir.
İstifadə nümunəsi:
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
err := doSomething(ctx)
if err != nil {
if errors.Is(err, context.DeadlineExceeded) {
fmt.Println("Əməliyyat vaxt limitini keçdi")
} else {
fmt.Println("İcra xətası:", err)
}
}
Bu nümunədə, doSomething funksiyası konteksti dəstəkləməli və vaxt bitdikdə işini dayandırmalıdır.