- SAP 电商云 Spartacus UI 3.4.5 版本引入的
- SAP 电商云 Spartacus UI 的 Product C
- 网站上的 breadcrumb 使用场景浅析
- SAP UI5 sap.ui.vk 命名空间内的控件介绍
- HTML 按钮(button)的 disable 属性和 dis
- SAP 电商云 Spartacus UI 产品搜索结果的设计明细
- SAP 电商云 Spartacus UI Proxy Facad
- Angular @Injectable 注解的工作原理浅析
- 关于 Angular 部署以及 index.html 里 bas
- SAP 电商云 Spartacus UI 从 CMS 取回 sl
在这个版本里,我们引入了一个新的布尔类型的标志位:reuseCurrentRendering
以及一个新的 Map 数据结构:renderCallbacks
![](https://img.haomeiwen.com/i2085791/8965ff869e68f28f.png)
相当于一个观察-发布者模式的应用。如果有若干并发请求试图访问同一个 page key,则我们服务其中一个请求,将其他请求的 callback 放到 Map 的值即数组中。待被选中的请求服务结束,生成了 HTML 之后,再将 renderCallbacks 里的 callback 数组里的回调函数逐一调用。
在运行时,该 map 的数据结构和值如下图所示:
![](https://img.haomeiwen.com/i2085791/43d0aa4a2e607a63.png)
每个请求 pending 的 callback 依次被调用:
![](https://img.haomeiwen.com/i2085791/9892cc8b4d567b45.png)
测试结果:10个并发请求,有4个通过 SSR 模式接收到了响应。
![](https://img.haomeiwen.com/i2085791/5783dee23181d373.png)
更多Jerry的原创文章,尽在:"汪子熙":
![](https://img.haomeiwen.com/i2085791/97c4752c0e619c44.png)
网友评论