Sobes.tech
Junior — Middle

Použili ste metódu Context.WithTimeout na obmedzenie času vykonávania operácií?

sobes.tech AI

Odpoveď od AI

Áno, metóda context.WithTimeout v jazyku Go sa často používa na obmedzenie času vykonávania operácií, najmä pri práci so sieťovými požiadavkami, databázami alebo inými dlhodobými procesmi.

Vytvára nový kontext, ktorý sa automaticky zruší po uplynutí stanoveného času, čo pomáha predísť zaseknutiu a kontrolovať časové limity.

Príklad použitia:

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("Operácia prekročila časový limit")
    } else {
        fmt.Println("Chyba pri vykonávaní:", err)
    }
}

V tomto príklade musí funkcia doSomething podporovať kontext a ukončiť svoju prácu, ak čas vyprší.