0Pricing
TypeScript Academy · Aula

Promise<T>, tipagem de async/await

Entenda as estruturas de Promise , anote funções assíncronas e trabalhe com valores aguardados com segurança.

Promise<T>, tipagem de async/await é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 3 aulas no total.

Introdução

Objetivo: ler e escrever código baseado em Promise<T>. Você tipará funções assíncronas, aguardará valores e manterá os erros tipados.

Fundamentos de Promise

Promise<T> encapsula um valor futuro. Use Promise quando nenhum valor for resolvido.

function delay(ms: number): Promise<void> {
  return new Promise(resolve => setTimeout(resolve, ms));
}

const p: Promise<void> = delay(100);

p.then(() => console.log("done"));

Tipagem do retorno assíncrono

Funções async sempre retornam uma Promise<U>. O corpo retorna U, que o TS encapsula automaticamente.

async function fetchNumber(): Promise<number> {
  await delay(10);
  return 42; // inferred as Promise<number>
}

fetchNumber().then(n => console.log(n.toFixed(0)));

Tipagem de await

await desembrulha a Promise e produz o tipo interno, string neste caso, para que você obtenha o IntelliSense correto.

async function readUserName(id: number): Promise<string> {
  await delay(5);
  return `user-${id}`;
}

async function main(): Promise<void> {
  const name = await readUserName(7); // name: string
  console.log(name.toUpperCase());
}

main();

Tipagem de Promise.all

Promise.all preserva os tipos de tupla; cada elemento é aguardado até seu tipo interno.

async function both() {
  const [n, s] = await Promise.all([
    fetchNumber(),
    readUserName(1),
  ]);
  console.log(n, s);
}

both();

Tipagem de erros

Em catch, prefira unknown. Restrinja o tipo com instanceof Error, ou com verificações personalizadas, antes de acessar campos.

async function safe() {
  try {
    await delay(1);
    throw new Error("boom");
  } catch (e: unknown) {
    if (e instanceof Error) {
      console.error("Handled:", e.message);
    } else {
      console.error("Unknown error", e);
    }
  }
}

safe();

Verificação do tipo de retorno assíncrono

Verificação rápida: qual é o tipo de retorno de uma função assíncrona que retorna um valor do tipo U?

Recapitulação

Recapitulação: Promise<T> encapsula valores futuros, funções async retornam Promise<U>, await desembrulha tipos e os erros em catch devem começar como unknown.

Perguntas Frequentes

A aula “Promise<T>, tipagem de async/await” é grátis?

Sim — o texto completo de “Promise<T>, tipagem de async/await” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 3 aulas no total.

O que vou aprender em “Promise<T>, tipagem de async/await”?

Entenda as estruturas de Promise , anote funções assíncronas e trabalhe com valores aguardados com segurança. Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar TypeScript Academy?

Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.

Quanto tempo leva a aula “Promise<T>, tipagem de async/await”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de TypeScript Academy?

Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Promise , tipagem de async/await
  2. Tipagem de erros (unknown), redução no catch
  3. Padrões de concorrência (all/settled/race) e tipos
← Voltar para TypeScript Academy