Frontend & browser·JavaScript in the browser
the error trace reads bottom to top and shows you every function that was still waiting when it threw.
Call stack
The stack of function calls currently executing, each frame waiting for the one above it to return. JavaScript runs one stack to completion before the runtime does anything else, which is precisely why a long synchronous function blocks rendering. An async function's stack unwinds at every `await`, which is why stack traces across awaits used to be useless and are now stitched back together by the engine.