C# · Intermediário · Inglês · Técnico
async await
Par de palavras-chave que escreve código assíncrono em estilo sequencial: async marca o método e await suspende sem bloquear a thread até a operação terminar.
Onde usar
Aparece em qualquer chamada de I/O: HTTP, banco, arquivo. Em code reviews, o ponto é propagar async até o topo da cadeia e não bloquear com Result ou Wait.
Em código
async Task<string> LerAsync(HttpClient h)
{
var s = await h.GetStringAsync("/api");
return s.Trim();
}Exemplos
Just await the call, don't block on it.
É só dar await na chamada, não bloqueie nela.
Mark the method async and return a Task.
Marque o método como async e retorne uma Task.
Cuidado
Não significa criar uma nova thread: o await só libera a thread atual enquanto espera, e o resto do método continua depois.
Sinônimos
programação assíncrona