Middle
Ako funguje kľúčové slovo async a operátor await v C#?
sobes.tech AI
Odpoveď od AI
async označuje metódu ako je asynchrónna, čo umožňuje používať await v nej. To samo o sebe nespôsobí, že metóda bude asynchrónna, ale umožní prekladaču generovať stavový automat, ktorý bude riadiť vykonávanie.
await sa používa pred výrazom, ktorý vracia Task alebo Task<T>. Pozastaví vykonávanie aktuálnej async metódy, kým očakávaná úloha nedokončí, bez blokovania vlákna. Po dokončení úlohy pokračuje vykonávanie metódy od miesta po await. Ak úloha vracia výsledok (Task<T>), await tento výsledok vráti.
public async Task<int> GetDataAsync()
{
// Asynchrónna operácia
HttpClient client = new HttpClient();
string result = await client.GetStringAsync("http://example.com");
// Pokračovanie po dokončení GetStringAsync
// Spracovanie výsledku
return result.Length;
}