Middle
Kako funkcionišu ključne reči async i await u C#?
sobes.tech АИ
Одговор од АИ
async označava metod kao asinhroni, omogućavajući korišćenje await unutar nje. To ne čini samu metodu asinhronom, ali omogućava kompilatoru da generiše mašinu stanja koja će upravljati izvršenjem.
await se koristi pre izraza koji vraća Task ili Task<T>. On zaustavlja izvršenje trenutne async metode dok se očekivani zadatak ne završi, bez blokiranja niti izvršenja. Nakon završetka zadatka, izvršenje metode se nastavlja od mesta nakon await. Ako zadatak vraća rezultat (Task<T>), await vraća taj rezultat.
public async Task<int> GetDataAsync()
{
// Asinhrona operacija
HttpClient client = new HttpClient();
string result = await client.GetStringAsync("http://example.com");
// Nastavak nakon što GetStringAsync završi
// Obrada rezultata
return result.Length;
}