点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好,
当OData模型在清单中声明并由框架初始化时,如何在尝试加载元数据时检测错误?
例如,如果后端服务不可用,或者存在授权问题,则对 $ metadata 端点的调用将返回404或403错误。 这已记录在控制台中。
但是,如文档中所述,在发生错误的情况下, model.metadataLoaded()承诺无法解决。 这意味着,如果控制器稍后尝试在该模型上调用 read(),则其回调(成功/错误)都不会解决,因为在内部, read()是 也称为 metadataLoaded 承诺(永远无法解决)。 因此,异步 read()永远不会触发其回调之一。
PS:按照最近的最佳实践,将异步加载组件(async = true,manifestFirst = true)。 因此 model.attachMetadataFailed 事件处理程序不可靠。 类似于" metadataLoaded ...
",具有" metadataFailed"承诺将非常有用。
更新:从UI5 1.79开始,调用.metadataLoaded( true )将返回一个承诺,该承诺实际上会在加载元数据失败的情况下拒绝(请参阅 commit 08dc441 )。
_____
原始答案:
>拥有" metadataFailed"承诺将非常有用,类似于元数据已加载...。 em>
我同意。 目前,它尚未实现。 这是利用以下API的解决方法:
在Component.js中
我刚刚在此处添加了有关" metadataFailed"承诺的增强请求: https://github.com/SAP/openui5/issues/2239
只需在下面更新我的答案即可。 我想说这个问题现在已经解决。
一周热门 更多>