Sobes.tech
Middle

Hoe werken het async trefwoord en de await-operator in C#?

sobes.tech AI

Antwoord van AI

async markeert de methode als asynchroon, waardoor await erin gebruikt kan worden. Dit maakt de methode zelf niet asynchroon, maar stelt de compiler in staat een eindautomaat te genereren die de uitvoering beheert.

await wordt gebruikt vóór een uitdrukking die Task of Task<T> retourneert. Het onderbreekt de uitvoering van de huidige async-methode totdat de verwachte taak is voltooid, zonder de uitvoeringsdraad te blokkeren. Na voltooiing van de taak gaat de methode verder vanaf na await. Als de taak een resultaat retourneert (Task<T>), geeft await dat resultaat terug.

public async Task<int> GetDataAsync()
{
    // Asynchrone operatie
    HttpClient client = new HttpClient();
    string result = await client.GetStringAsync("http://example.com"); 

    // Voortzetting na voltooiing van GetStringAsync
    // Resultaatverwerking
    return result.Length; 
}