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() ալիքը փակ է, դա նշանակում է, որ անհրաժեշտ է ընդհատել կատարմանը։