SAP Fiori OData取数据的同步模式和异步模式比较

简介: SAP Fiori OData取数据的同步模式和异步模式比较

Yesterday I was challenged by my colleague: in the CRM Fiori application “My Opportunity”, although the OData request for logo url is set as false ( means Synchronous ), why we still observe in UI that this request is done like Asynchronously?

image.pngFor the complete story about Image display logic in Fiori, please refer to this blog: CRM Fiori Application – how is image maintained and displayed in Fiori UI.


My colleague’s doubt is that he observed even the response of image url is not returned by backend, still end user could continue to work on UI – it seems UI is not blocked so my colleague considered that the request is done in an Asynchronous way.image.pngI just would like to share with you how I persuade him to accept this is really an Synchronous request.


The key idea here is: We are doing test in our internal system, the request for image url is almost immediately returned ( less than 2 seconds ), so it is really difficult to judge by eye whether it is synchronous or asynchronous.


As a result, I add another 13 seconds’ latency in OData service implementation:

image.pngSynchronous mode

Afterwards the synchronous behavior is quite obvious now. I click one item in navigation list to trigger the synchronous request for Image url retrieval. And after that, I cannot do any operation on UI – it is completely freezed.image.pngAsynchronous mode

Then I change the manual latency to 20 seconds and retest the UI.


Now every time I click one opportunity in the navigation list, still one http request for image logo is sent out. Compared with synchronous mode, this time the UI is not blocked – I can continue to work on UI without waiting for the response.


This asynchronous behavior could also easily be found in the timechart in Chrome network:

image.pngChrome development tool

UI5 inspector

Deal with “blank screen issue”

UI5 field formatter

Negative cache

Control registration and deregistration

Fiori flower animation

Fiori Icon logic

Find out the origin of suspicious HTTP roundtrips

Date Picker

Contact support button behavior

Two types of popup Dialog in Fiori

Fiori globalization – amount display truncation logic

An example of Fiori Globalization implementation – the number format mystery

HTTP 200 OK and HTTP 304 Not Modified

An example of how to find back button implementation on Smart Template generated application

FullScreenPageRoutes in Component.js

An easy way to find location where Unique id of UI5 control is created

More detail about Bootstrap script tag

A small tip I learn from UI5 Diagnostics tool – a practice of AOP programming

Another reason of empty screen issue and how I analyze the issue

Why Adapt UI button is visible in some system but missing in some other system

Open your SAP GUI transaction in Fiori launchpad

Why sometimes my OData request is cancelled automatically


相关文章
|
1月前
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
20 0
|
1月前
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
15 0
|
1月前
|
UED
什么是 SAP Fiori 的 Technical Catalog 和 Business Catalog
什么是 SAP Fiori 的 Technical Catalog 和 Business Catalog
29 0
|
1月前
|
前端开发 UED
SAP Fiori 到底指什么
SAP Fiori 到底指什么
34 0
|
1月前
|
XML 前端开发 JavaScript
SAP Fiori Launchpad Custom Fields tile 里的 ABAP 语法高亮显示
SAP Fiori Launchpad Custom Fields tile 里的 ABAP 语法高亮显示
13 0
|
1月前
|
数据库 开发者 容器
SAP OData metadata.xml 里 EntityType,EntitySet 和 EntityContainer 三个概念之间的区别和联系
SAP OData metadata.xml 里 EntityType,EntitySet 和 EntityContainer 三个概念之间的区别和联系
24 0
|
2月前
|
XML 存储 JavaScript
关于 SAP Fiori Elements List Report 里的 TableCell.fragment.xml 头部声明
关于 SAP Fiori Elements List Report 里的 TableCell.fragment.xml 头部声明
22 0
|
1月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
27 0
|
1月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
13 0
|
1月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
15 0