ExpertiDict

TypeScript · Avançado · Inglês · Técnico

Awaited

/əˈweɪtɪd/substantivo

Utility type que desembrulha o tipo resolvido de uma Promise, recursivamente, tratando também objetos thenable. Representa o que o await produziria para aquele tipo.

Onde usar

Usado para obter o resultado de uma função assíncrona: Awaited<ReturnType<typeof buscar>>. Foi adicionado no TS 4.5, entre outros motivos, para tipar bem o Promise.all.

Em código

async function buscar() {
  return { ok: true };
}
type R = Awaited<ReturnType<typeof buscar>>;
// R = { ok: boolean }
type S = Awaited<Promise<Promise<string>>>;
// S = string

Exemplos

Use Awaited to get the resolved type of the async function.

Use Awaited para pegar o tipo resolvido da função assíncrona.

Awaited unwraps nested promises all the way down.

Awaited desembrulha promises aninhadas até o fim.

Cuidado

Não é o mesmo que T extends Promise<infer U> ? U : T, que ignora Promises aninhadas e thenables; o Awaited resolve todos os níveis.

Veja também

Todos os termos de TypeScript