This paragraph was rendered instantly by the server. Underneath it is a Suspense component, which loads data that takes 3 seconds to fetch:
Loading...
This example renders 2 async components - the Page component and the child DataComponent. The DataComponent loads data that takes 3 seconds to load, but because we wrapped it inside Suspense, the page-level component did not have anything else to wait around for (despite being declared `async`), so it rendered immediately.
While the async Page component rendered, the Suspense fallback was shown for 3 seconds until DataComponent resolved its data, at which point the new content was streamed to the browser.
ID | Name |
---|---|
1 | Alice |
2 | Bob |
3 | Charlie |