Sobes.tech
Junior — Middle

Каква е целта на функцията за връщане Cancel в метода Context.WithTimeout?

sobes.tech AI

Отговор от AI

Функцията Cancel, връщана от метода context.WithTimeout, е предназначена за явно отменяне на контекста преди изтичането на зададения таймаут. Викайки тази функция, освобождават се ресурсите, свързани с контекста, и се сигнализира на всички слушатели за необходимостта да прекратят работата. Това е важно за предотвратяване на течове на ресурси, особено ако операцията приключи по-рано от таймаута.

Пример за използване:

ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel() // гарантира освобождаването на ресурсите

// използвайте ctx в операции, които могат да бъдат отменени