Utility

Loading "Utility"
πŸ‘¨β€πŸ’Ό With what you've built so far, we want you to make a reusable utility for this use case. We want you to call it use and it should take a promise and return the Value from the promise.
The only way we can do this is by tracking some values which we'll monkey-patch onto the promise itself. So Kellie's added a special type for you to use to make TypeScript happier with the hackery we plan to perform for this simplified version of use.
πŸ§β€β™‚οΈ Here's a good start for you:
type UsePromise<Value> = Promise<Value> & {
	status: 'pending' | 'fulfilled' | 'rejected'
	value: Value
	reason: unknown
}

function use<Value>(promise: Promise<Value>): Value {
	const usePromise = promise as UsePromise<Value>
	// throw stuff, .then stuff, and return Value!
}
That should get you a good start. When you're done, you should be able to remove a bunch of our code and replace it with a use call. Good luck!
Login to get access to the exclusive discord channel.
  • General
    How to run tests in IDE?
    anonymousBlack10:
    Is it possible to run the tests from the IDE or are they setup to be run just from the browser? Some...
    • βœ…1
    1 Β· 10 days ago
  • πŸ”€Suspense
    ⚑Performance
    How you can implement the delay transition in react router dom
    Lloren πŸš€:
    How i can use the delay spinner and useTransition hook on react routes im trying but i cant do i h...
    • βœ…1
    8 Β· 14 days ago
  • πŸ”€Suspense
    [QUESTION] Optimizations > Parallel Loading Workshop
    Ric πŸš€:
    I'm going through the Suspense workshop and in the last part I struggled a bit with one of the optim...
    • βœ…1
    1 Β· 17 days ago
  • 🎣Hooks
    πŸ”€Suspense
    Clarification on how to trigger a suspense
    seven πŸš€:
    Hello, in lesson about useTransition Kent said that "anytime you have a state update thats going to ...
    • βœ…1
    3 Β· 2 months ago
  • General
    Welcome to EpicReact.dev! Say Hello πŸ‘‹
    Kent C. Dodds β—† πŸš€πŸ†πŸŒŒ:
    Welcome to the first of many posts in the EpicReact.dev channel! Take a moment to introduce yourself...
    • πŸš€6
    49 Β· 2 days ago
  • General
    Launch editor error: spawn code ENOENT
    Andrew Elans 🌌 πŸš€:
    Clicking index.html gives this error in VS Code. Both from Chrome and Safari. Anyone?
    • βœ…2
    6 Β· 3 months ago
  • General
    Launch editor error: Could not open 'index.html' from:'playground' in the editor.
    Japhet πŸš€ πŸ† 🌌:
    I'm encountering an issue when trying to open a link from the file list. The error message I receive...
    • βœ…1
    15 Β· 3 months ago
  • πŸ”€Suspense
    Suspense img tip
    Jon Winsley πŸš€:
    The solution for Suspense Img/Img Component wasn't working for me, and it took a little bit to figur...
    • πŸ™Œ3
    5 Β· 3 months ago
  • General
    AI Assistant?
    John πŸš€:
    Kent has mentioned an AI assistant that he's using in VSCode. Is there any detail on what that is an...
    • βœ…2
    2 Β· 2 months ago
  • General
    Script to save playground folder
    larissapissurno πŸš€:
    Hi all, I personally like to take notes on the playground files, so in order to not lose this notes ...
    • βœ…1
    2 Β· 2 months ago
  • General
    Runninng Learning app on iPad?
    marcus_polonus πŸš€ 🌌:
    Hi all, Did anyone managed to setup learning app on iPad? I tried to use codesandbox, but when I am...
    • βœ…1
    1 Β· 3 months ago
  • General
    βš›οΈFundamentals
    Error boundary good practice
    Lloren πŸš€:
    I have always wondered if the error boundary is there a limit of error boundary that you can impleme...
    • βœ…1
    1 Β· 2 months ago
  • General
    Received this error when running the setup script for React Fundamentals
    ChrisP πŸš€:
    Hey guys, I am completely blocked at the moment. When I clone and run the setup for react fundamenta...
    • βœ…1
    2 Β· 3 months ago
  • General
    Unexpected server error (workshop-app does not load onboarding step)
    Matias 🌌 πŸš€:
    Hey! πŸ‘‹ I installed the free workshop "Build React Hooks" last week with no issues. Yesterday, whe...
    • βœ…1
    3 Β· 3 months ago
  • General
    Eye opening moment in 05/06 (β€žsatisfiesβ€œ operator of typescript)
    Chrigi πŸš€:
    Up until today I was not aware that having the type annotation on a variable is actually a type-cast...
    • πŸ™Œ2
    • βœ…1
    2 Β· 3 months ago
  • General
    Failed to fetch dynamically imported module...
    FacuPerezM 🌌:
    I am getting this error out of nowhere, in the 'test' tab inside the Workshop app. ``` Failed to f...
    • βœ…1
    3 Β· 3 months ago
  • General
    Epicshop not saving the video resolution
    Toni πŸš€ 🌌:
    Playback speed and caption settings are saved, but the video resolution always defaults to auto. Is ...
    • βœ…1
    7 Β· 3 months ago
  • General
    Clicking an exercise file launch VIM instead of VS Code
    DBattou πŸš€:
    I started going through the workshops, everything is setup and working fine except for opening a fil...
    • βœ…1
    2 Β· 3 months ago