Surya JS Journey

Learn JavaScript through concepts, code, and guided practice.

A focused workspace for concept study, interactive examples, visual explanations, and challenge solving.

Challenge Playground

Refactor a promise chain with async/await

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`.

Mode

Challenge mode

Run code, inspect output, and reset instantly.

Source

Loaded from a challenge

Starter code is loaded directly into the editor.

File

async-await-refactor.js

Same code, editable immediately in the browser.

Workspace Flow

1. Edit the snippet

Change the code freely to test ideas and edge cases.

2. Run and inspect

Use the output panel to confirm behavior and catch runtime errors.

3. Reset or continue

Restore the starter or branch into your own experiment.

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.

Live editing

Safe to change before every run.

Fast reset

Return to the original starter instantly.

async-await-refactor.js
9 linesMonaco Editor
Loading...

Editor Actions

Run your solution and compare the result with the expected challenge output.

Console0 entries

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
complete

Want a blank workspace again? Go back to the default playground.