Junior — Middle
Ako ukončiť asynchrónnu operáciu?
sobes.tech AI
Odpoveď od AI
V C# sa asynchrónnou operáciou sa automaticky ukončí, keď sa dosiahne koniec metódy označenej kľúčovým slovom async, alebo keď sa vráti výsledok (napríklad pomocou return). Ak je potrebné ukončiť asynchrónnu operáciu skôr, môžete použiť:
- Vrátenie výsledku pomocou return.
- Vyvolanie výnimky na prerušenie vykonávania.
- Zrušenie pomocou CancellationToken, ak operácia podporuje zrušenie.
Príklad predčasného ukončenia s CancellationToken:
async Task DoWorkAsync(CancellationToken token)
{
for (int i = 0; i < 10; i++)
{
token.ThrowIfCancellationRequested();
await Task.Delay(1000);
}
}
Týmto spôsobom je ukončenie asynchrónnej operácie riadené buď logikou metódy, alebo externým signálom zrušenia.