Sobes.tech
Junior — Middle

Ի՞նչ գործողություններ է իրականացնում API-ն հարցման ընդհատման նշան ստանալիս։

sobes.tech AI

Պատասխան AI-ից

Երբ ստացվում է խնդրանքի ընդհատման ազդանշան (օրինակ, C#-ում՝ CancellationToken-ի միջոցով), API-ն իրականացնում է հետևյալ գործողությունները՝

  1. Ստուգում է ընդհատման նշանի վիճակը՝ որոշելու համար, արդյոք խնդրանքը չեղյալ է հայտարարվել:
  2. Եթե խնդրանքը պահանջվում է, այն նետում է OperationCanceledException արտահայտությունը կամ ավարտում է ասինխրոն գործողությունը:
  3. ազատում է խնդրանքի հետ կապված ռեսուրսները՝ խուսափելու լիքներից:
  4. թույլ է տալիս կանչող կոդին ճիշտ կերպով կառավարել ընդհատումը՝ օրինակ, դադարեցնել հետագա մշակումը կամ կատարել մաքրման աշխատանքներ:

CancellationToken-ի օգտագործման օրինակ՝

public async Task LoadDataAsync(CancellationToken cancellationToken)
{
    // Ստուգում է ընդհատումը սկսելուց առաջ
    cancellationToken.ThrowIfCancellationRequested();

    // Ասինխրոն գործողություն
    await SomeLongRunningOperationAsync(cancellationToken);

    // Ստուգում է ընդհատումը գործողությունից հետո
    cancellationToken.ThrowIfCancellationRequested();
}