Skip to content
Discussion options

You must be logged in to vote

I don't see a race condition in the example provided -- it depends purely on whether the inner resource is already ready when the outer resource resolves, so in the example it is always broken. If I switch the timing of the two resources in the example it always works. I imagine the race condition comes in real code where you have two similarly-timed resources that finish in an arbitrary order any given time you call them.

Otherwise, your analysis of the situation is correct: Suspense/Transition

  1. runs its children once,
  2. tracks resource read during that initial run,
  3. finishes rendering on the server when children tracked during Step 2 are all resolved.

This does mean that if you nest resou…

Replies: 2 comments 2 replies

Comment options

You must be logged in to vote
0 replies
Answer selected by adrianncovaci
Comment options

You must be logged in to vote
2 replies
@gbj
Comment options

gbj Nov 12, 2025
Maintainer

@adrianncovaci
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants