ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

SAP UI5 有没有 RxJS defer 的对应机制,从延迟求值到 OData V4 Deferred Operation 的完整映射

SAP UI5 有没有 RxJS defer 的对应机制,从延迟求值到 OData V4 Deferred Operation 的完整映射 在 SAP Fiori 应用里,有一类代码很容易让熟悉 Angular 和 RxJS 的开发者产生似曾相识的感觉。页面已经创建好了,ODataModel也已经存在,某个业务动作的描述甚至已经绑定到了页面上,但真正的后端调用并没有发生。只有用户点击审批、重新定价、模拟订单或者执行某个业务Action时,请求才真正从浏览器发出去。如果从RxJS defer的思维来看,这种行为很像一句话,先把未来要做的事情描述好,现在不要执行,等到真正需要的时候再创建并执行。SAP UI5 确实存在这种设计思想,而且在OData V4里甚至存在官方名称就叫deferred operation binding的机制。不过,如果严谨地问一句,SAP UI5 有没有一个和RxJS defer一模一样的Operator,答案仍然是否定的。更准确的结论应该是,SAP UI5 没有一个通用的、基于Observable subscription语义的defer等价物,但 SAP UI5 的多个机制分别覆盖了defer所解决问题的一部分。其中最接近的原生机制是OData V4 deferred operation binding,而在一般的 UI5 业务代码中,我们通常使用函数工厂、Promise、事件触发、延迟模块加载以及延迟Fragment创建来实现类似效果。真正需要完整
返回列表