Reputation: 2733
While I totally agree with the accepted answer on this SO post, I need to know if asynchronous recursion really creates a brand new call stack, why does it show the call stack building up in the browser in the following screenshot? To be fair, the call stack seems to stop growing after 32 recursions. Here's the sample code.
Upvotes: 0
Views: 867
Reputation: 11600
Showing async call stacks is a feature of chrome dev tools. You can switch it off with shift + ctrl + p
and selecting do not capture async stack traces
.
In the console output in your picture the bold text setTimeout(async)
is where a new stack begins.
Upvotes: 4
Reputation: 169051
Async does create new stacks.
Your browser's dev tools glue those async frames together for you as a debugging convenience.
You can turn it off in the dev tools' preferences; see eg. https://developer.chrome.com/blog/new-in-devtools-60/#async-stacks
Upvotes: 2