Files
monitoring-app/.agents/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md
bipproduction 39d659acd0 skills
2026-04-01 10:43:03 +08:00

992 B

title, impact, impactDescription, tags
title impact impactDescription tags
Parallel Nested Data Fetching CRITICAL eliminates server-side waterfalls server, rsc, parallel-fetching, promise-chaining

Parallel Nested Data Fetching

When fetching nested data in parallel, chain dependent fetches within each item's promise so a slow item doesn't block the rest.

Incorrect (a single slow item blocks all nested fetches):

const chats = await Promise.all(
  chatIds.map(id => getChat(id))
)

const chatAuthors = await Promise.all(
  chats.map(chat => getUser(chat.author))
)

If one getChat(id) out of 100 is extremely slow, the authors of the other 99 chats can't start loading even though their data is ready.

Correct (each item chains its own nested fetch):

const chatAuthors = await Promise.all(
  chatIds.map(id => getChat(id).then(chat => getUser(chat.author)))
)

Each item independently chains getChatgetUser, so a slow chat doesn't block author fetches for the others.