Skip to content

Instantly share code, notes, and snippets.

@MRobertEvers
Last active March 26, 2025 13:43
Show Gist options
  • Save MRobertEvers/2ed1ab4c6ae984266995584330c5bb40 to your computer and use it in GitHub Desktop.
Save MRobertEvers/2ed1ab4c6ae984266995584330c5bb40 to your computer and use it in GitHub Desktop.
nodejs await callstack
async function thrower() {
  throw new Error('error')
}

async function A() {
  return thrower()
}

async function B() {
  return await thrower()
}

async function main() {
  try {
    await A()
  } catch (error) {
    console.log(error)
  }

  try {
    await B()
  } catch (error) {
    console.log(error)
  }
}

main()

The callstacks.

Error: error
    at thrower (/Users/matthewevers/Documents/git_repos/nextweb/backend/test.js:2:9)
    at A (/Users/matthewevers/Documents/git_repos/nextweb/backend/test.js:6:10)
    at main (/Users/matthewevers/Documents/git_repos/nextweb/backend/test.js:15:11)
    at Object.<anonymous> (/Users/matthewevers/Documents/git_repos/nextweb/backend/test.js:27:1)
    at Module._compile (node:internal/modules/cjs/loader:1364:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
    at Module.load (node:internal/modules/cjs/loader:1203:32)
    at Module._load (node:internal/modules/cjs/loader:1019:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:128:12)
    at node:internal/main/run_main_module:28:49
Error: error
    at thrower (/Users/matthewevers/Documents/git_repos/nextweb/backend/test.js:2:9)
    at B (/Users/matthewevers/Documents/git_repos/nextweb/backend/test.js:10:16)
    at main (/Users/matthewevers/Documents/git_repos/nextweb/backend/test.js:21:11)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment