Surya JS Journey
Learn JavaScript through concepts, code, and guided practice.
A focused workspace for concept study, interactive examples, visual explanations, and challenge solving.
Refactor a promise chain with async/await
Rewrite a chained async flow using async/await while preserving the final output order.
Convert the chained promise logic into an async function. Keep the same output order and handle any failure with `try` / `catch`. When the request succeeds, log the message and then log `complete`.
Challenge Brief
Solve the exercise by editing the starter code and running it in the panel. Compare your result against the expected outcome, then refine your solution until the behavior matches.
- 1. Read the prompt carefully and identify the missing behavior.
- 2. Update only the parts of the starter code needed to solve it.
- 3. Run the code and compare actual output with the expected result.
Hints
- Wrap the flow in an `async function`.
- Use `await fetchTopic()` to get the resolved message.
- Keep the final log order the same as the original behavior.
Challenge Workspace
async-await-refactor.js
Edit the code, run it in the browser, and inspect the console output below. Reset restores the original snippet for this page.
Editor
9 lines
Output
0 entries
Mode
challenge
Workspace Notes
Changes stay local until you run the code. Reset restores the original snippet immediately for another pass.
Editor Actions
Run your solution and compare the result with the expected challenge output.
Run the code to see output here.
Challenge Result
Run the code to check whether your solution matches the expected outcome.
Expected Output
async topic ready
completeContinue in Playground
Open this starter code in the shared playground if you want a focused space for experimenting outside the challenge page.
Open in Playground