点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个场景,其中有多个图标选项...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个场景,其中有多个图标选项...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我有一个场景,其中有多个图标选项卡,并且在切换选项卡时,我们正在使用扩展进行多个批处理调用(读取和/或更新)。 在UI5版本1.71中的读取调用期间,很多时候我们会收到"超出最大调用堆栈错误"的信息。 但可以在1.52等较低版本中正常工作
未捕获的RangeError:超出了最大调用堆栈大小
在构造函数中在构造函数中D.resolveFromCache(ODataModel-dbg.js:6422)在构造函数中D.resolveFromCache(ODataModel-dbg.js:6441)在构造函数中D.resolveFromCache(ODataModel-dbg.js:6441) 构造函数中的.D.resolveFromCache(ODataModel-dbg.js:6441)。构造函数中的D.resolveFromCache(ODataModel-dbg.js:6441)。构造函数中的D.resolveFromCache(ODataModel-dbg.js:6441) 构造函数中的ODataModel-dbg.js:6441)。构造函数中的D.resolveFromCache(ODataModel-dbg.js:6441)构造函数中的D.resolveFromCache(ODataModel-dbg.js:6441)在构造函数.D.resolveFromCache(ODataModel-dbg.js :6441)
解决此问题的任何建议。
嗨
检查一下
未捕获的RangeError校正
Saludos
Raquel
链接无法解决我的问题。 感谢您的回复。 仍在寻求帮助。
这个错误几乎总是意味着您在JavaScript代码的递归方面遇到了问题,因为JavaScript中没有其他方法可以消耗大量堆栈。 有时一遍又一遍地调用递归函数,会导致浏览器向您发送超出最大调用堆栈大小的错误消息,因为可以分配给您使用的内存不是无限的。 完全可能的代码中也可能导致无限递归。 如果链中的promise实际上没有执行任何异步执行,则可能发生这种情况,在这种情况下,即使代码看上去是异步的,控制也永远不会真正返回事件循环。 在这种情况下,将递归函数调用包装到-
此外,您可以通过在RangeError类型的exception上设置断点来定位问题,然后适当地调整代码。 此外,您可以通过检查Chrome开发者工具栏控制台中的错误详细信息来设法找到导致错误的原因,这将为您提供调用堆栈中的功能,并引导您进行导致错误的递归。
我刚刚意识到这是因为代码始终进行相同的调用,并且服务将返回经过身份验证的用户的信息:
/UserSet('X')
这不是一个好习惯,应该在这种情况下使用函数调用(即getAuthenticatedUser)。
关于,
西尔文
嗨,Sahidur,
我遇到了同样的问题,这就是造成我的原因的原因。 我在sap.ui.model.odata.v2.ODataModel类上使用read方法调用了函数导入,而不是使用专用的callFunction方法。 使用稍后解决了我的问题。
希望这对其他人有帮助,因为您现在肯定已经解决了问题。
此致
西尔万·卡图达尔
嗨,Sahidur,
发现另一种情况,它将对get实体执行相同的行为。 顺序如下:
/UserSet('user1')
/UserSet('user2')
/UserSet('user1')//第三次读取将产生与上面完全相同的堆栈跟踪
我的解决方法是在注销时将局部变量mPathCache设置为{}。 由于我正在扩展基本的ODataModel,因此这就是我的代码。
我在CustomODataModel的构造函数中订阅注销事件:
这是_invalidate函数:
希望这对某人有帮助,
西尔万
一周热门 更多>