Created
September 15, 2023 15:44
-
-
Save JLarky/0bd39127a5ffaa5dcdc79543e5f850b5 to your computer and use it in GitHub Desktop.
RSC suspense
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
delay 2004 | |
delay 1003 | |
delay2 1002 | |
delay 1001 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Link from "next/link"; | |
import { Suspense } from "react"; | |
export default function Home() { | |
return ( | |
<main className="p-24"> | |
<Link href="/test">Test</Link> | |
<Suspense fallback={<div>Loading...</div>}> | |
<Suspense fallback={<div>Loading...</div>}> | |
<Test delay={2004} /> | |
</Suspense> | |
<Test delay={1003} /> | |
Test2: | |
<Test2 delay={1002} delay2={1001} /> | |
</Suspense> | |
</main> | |
); | |
} | |
async function Test({ delay }: { delay: number }) { | |
console.log("delay", delay); | |
await new Promise((resolve) => setTimeout(resolve, delay)); | |
return <div>Hello</div>; | |
} | |
async function Test2({ delay, delay2 }: { delay: number; delay2: number }) { | |
console.log("delay2", delay); | |
await new Promise((resolve) => setTimeout(resolve, delay)); | |
return ( | |
<div> | |
Hello | |
<Suspense fallback={<div>Loading...</div>}> | |
<Test delay={delay2} /> | |
</Suspense> | |
</div> | |
); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment