angular - 如何调试“超出最大调用堆栈大小”等错误
问题描述
我有一个 Ionic/angular 项目,我暂停了一段时间。我继续处理它,但控制台出现错误。用户效果是 10-15 秒内没有显示任何内容,然后我的 google 已加载,但随后我看不到任何功能。
core.js:4197 ERROR RangeError: Maximum call stack size exceeded
at MapSubscriber._error (Subscriber.js:75)
at MapSubscriber.error (Subscriber.js:55)
at MergeMapSubscriber.notifyError (OuterSubscriber.js:7)
at InnerSubscriber._error (InnerSubscriber.js:14)
at InnerSubscriber.error (Subscriber.js:55)
at CatchSubscriber._error (Subscriber.js:75)
at CatchSubscriber.error (Subscriber.js:55)
at CatchSubscriber.error (catchError.js:32)
at MergeMapSubscriber.notifyError (OuterSubscriber.js:7)
at InnerSubscriber._error (InnerSubscriber.js:14)
我搜索了一下,我已经从 angular 10 更新到 angular 11,更新了所有库,在 stackoverflow 上找到了很多答案,包括这个 Angular 7 错误 RangeError: Maximum call stack size exceeded
但我不知道哪里会导致问题。
我试图在我所在页面的ngOnInit
/上评论所有内容constructor
,但没有成功。
如何找到此类错误的根本原因?我真的迷路了,我不知道该怎么办,这只是让我的应用程序冻结 10-15 秒然后崩溃。
在此之后我有一个 firebase 超时,但我想这是因为 angular 忙于处理这个调用堆栈问题。
解决方案
这不是一个普遍的答案,但我希望它可以举一些例子:
在我的例子中,我是从模块 B 引用模块 A,从模块 A 引用模块 B,所以这个循环引用导致了堆栈溢出,导致了这个结果。
推荐阅读
- java - Maven:WSDLException:无法找到请求目标的有效认证路径(即使我安装了 jssecacerts 以确保安全)
- python - 从 np.array 中删除 dtype
- python - 将 json 列读入新列 pandas
- json - 有没有办法同时运行 Flask 服务器并存储来自消息代理的传入数据?
- jquery - 如果窗口大小发生变化,撤消 jQuery 函数
- android - 使用自定义 recyclerview 适配器文件的 progressDialog 和 Toast 错误
- python - 字典 values() 方法只显示几个值
- sql-server - SQL Server 中的大整数键
- javascript - 为什么 CSS 在这个 JS 切换中不起作用?初学者问题
- ruby-on-rails - “heroku run rails db:seed”没有完成就停止(“状态从上到完成”)