A structured lesson workspace with readable content, hands-on examples, and a clean path to completion.
| Observation | Diagnostic question |
|---|---|
| Runtime value | What value actually arrived? |
| Language rule | Which rule determines the result? |
const result = Promise.resolve(21).then(value => value * 2).catch(error => console.error(error));result.then(console.log);
Keep the experiment focused on synchronous vs asynchronous javascript and change one assumption at a time.
Mentor note: for synchronous vs asynchronous javascript, name the invariant you need before reaching for a clever shortcut. Clear state and explicit assumptions make later debugging much cheaper.
Finish the lesson once you have worked through the material. This awards ★ 20 XP.