Middle
Como funciona a palavra-chave async e o operador await em C#?
sobes.tech IA
Resposta da IA
async marca o método como assíncrono, permitindo usar await nele. Isso não torna o método assíncrono por si só, mas permite ao compilador gerar uma máquina de estados que gerenciará a execução.
await é usado antes de uma expressão que retorna Task ou Task<T>. Ele suspende a execução do método async atual até que a tarefa esperada seja concluída, sem bloquear a thread de execução. Após a conclusão da tarefa, a execução do método continua após await. Se a tarefa retornar um resultado (Task<T>), await retorna esse resultado.
public async Task<int> GetDataAsync()
{
// Operação assíncrona
HttpClient client = new HttpClient();
string result = await client.GetStringAsync("http://example.com");
// A execução continua após GetStringAsync terminar
// Processamento do resultado
return result.Length;
}