繁体   English   中英

为什么异步递归显示调用堆栈在浏览器中累积?

[英]Why async recursion shows call stack building up in the browser?

虽然我完全同意这个 SO post上接受的答案,但我需要知道异步递归是否真的创建了一个全新的调用堆栈,为什么它会在以下屏幕截图中显示在浏览器中构建的调用堆栈? 公平地说,调用堆栈似乎在 32 次递归后停止增长。 这是示例代码

在此处输入图像描述

显示异步调用堆栈是 chrome 开发工具的一项功能。 您可以使用shift + ctrl + p关闭它并选择do not capture async stack traces

在您图片中的控制台 output 中,粗体文本setTimeout(async)是新堆栈开始的地方。

异步确实会创建新的堆栈。

浏览器的开发工具将这些异步框架粘合在一起,以方便调试。

您可以在开发工具的首选项中将其关闭; 见例如。 https://developer.chrome.com/blog/new-in-devtools-60/#async-stacks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM