Sobes.tech
Junior — Middle

Kuidas saab kasutada CancellationTokenit asünkroonsete operatsioonide tühistamiseks teie projektis?

sobes.tech AI

Vastus AI-lt

C#-да CancellationToken қолданылады асинхронды операцияларды тоқтату үшін, бұл тапсырманы сұраныс бойынша дұрыс тоқтатуға мүмкіндік береді.

Жобада, CancellationToken-ді тоқтатуды қолдайтын әдістерге беру және оның жағдайын асинхронды кодта тексеру мүмкін. Егер токен тоқтатуды көрсетсе, операция алдын ала аяқталуы керек, ресурстар босатылады.

Қолдану мысалы:

public async Task LoadDataAsync(CancellationToken cancellationToken)
{
    for (int i = 0; i < 10; i++)
    {
        cancellationToken.ThrowIfCancellationRequested();
        await Task.Delay(1000); // жұмыс имитациясы
    }
}

// тоқтатуға мүмкіндік беретін шақыру
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);

// 3 секундтан кейін тоқтату
cts.CancelAfter(3000);

try
{
    await task;
}
catch (OperationCanceledException)
{
    Console.WriteLine("Операция тоқтатылды");
}

Бұл тәсіл асинхронды тапсырмалардың орындалу уақытын икемді басқаруға және қолданбаның жауап беру қабілетін жақсартуға мүмкіндік береді.