Skip to content

APIs assíncronas

Algumas APIs do Next.js que antes eram síncronas, tornaram-se assíncronas.

A razão para isso é relativamente simples:

  • O SSR Tradicional sempre esperava um request antes de renderizar qualquer conteúdo.
  • Mas nem todos os componentes dependem do request para renderizar. Em tese eles poderiam iniciar a renderização antes do request “chegar”
  • Logo, todas as APIs que dependem de dados específicos do request tornaram-se assíncronas.

O que mudou?

As seguintes APIs tornaram-se assíncronas:

  • cookies
  • headers
  • params (prop de páginas, layouts, route handlers, etc.)
  • searchParams (prop de páginas)

Como fazer a alteração?

É fácil e simples. Basta apenas esperar as promises se resolverem.

alt text

Com o codemod:

Terminal window
npx @next/codemod@latest next-async-request-api .