ExpertiDict

C# · Intermediário · Inglês · Técnico

async await

/əˈsɪŋk əˈweɪt/palavra-chave

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

Veja também

Todos os termos de C#