992 B
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 getChat → getUser, so a slow chat doesn't block author fetches for the others.