UI5性能参数:data-sap-ui-preload与data-sap-ui-async

Mik*_* B. 2 performance asynchronous sapui5

不同的SAPUI5性能指南提到了两个关键参数,它们似乎具有相似的性质,但解释略有不同:

  1. data-sap-ui-preload="async"

    这里最重要的设置是data-sap-ui-preload="async".这使运行时能够在后台异步加载所有已声明库的模块.这减少了客户端发送的可能相互阻塞的请求数量.

  2. data-sap-ui-async="true"

    最重要的设置是data-sap-ui-async="true".如果使用异步API,这使运行时能够异步加载所有声明的库的所有模块和预加载文件.设置 async=true利用浏览器的功能并行执行多个请求,而不会阻止UI线程.

你能澄清一下这究竟是什么区别,我应该何时使用另一个?

Bog*_*ann 6

第一个链接文档基于过时的UI5版本1.38.x.那时,配置sap-ui-preload="async"确实是"最重要的设置",因为当时没有sap-ui-async可用的配置.对于版本1.58.2,async="true"引入了应该使用的,而不是preload="true"主题配置选项和URL参数中所述:

preload

此配置参数定义所谓的预加载文件的加载行为.它们包含库的所有模块.(......)

值使用如下:

  • 设置auto为时,SAPUI5运行preload=sync时会在asyncbootstrap配置参数设置为false(async=false)或根本未设置时自动使用.在preload万一文件异步加载async=true设置.
  • 设置为时async,preload文件将异步加载.但是,我们建议async=true在引导程序中使用配置参数,因为它会将更多模块/相关API切换为异步,包括预加载文件的加载行为.

async

此配置设置使模块加载程序能够异步加载模块和库预加载文件.


TL; DR

data-sap-ui-async="true" // since 1.58.2 --> Replaces preload="async"
Run Code Online (Sandbox Code Playgroud)
data-sap-ui-preload="async" // for 1.58.1 and below
Run Code Online (Sandbox Code Playgroud)