天天看點

SAP 電商雲 Spartacus UI 3.4.5 版本引入的對并發 SSR 請求的支援

在這個版本裡,我們引入了一個新的布爾類型的标志位:reuseCurrentRendering

以及一個新的 Map 資料結構:renderCallbacks

SAP 電商雲 Spartacus UI 3.4.5 版本引入的對并發 SSR 請求的支援

相當于一個觀察-釋出者模式的應用。如果有若幹并發請求試圖通路同一個 page key,則我們服務其中一個請求,将其他請求的 callback 放到 Map 的值即數組中。待被選中的請求服務結束,生成了 HTML 之後,再将 renderCallbacks 裡的 callback 數組裡的回調函數逐一調用。

在運作時,該 map 的資料結構和值如下圖所示:

SAP 電商雲 Spartacus UI 3.4.5 版本引入的對并發 SSR 請求的支援

每個請求 pending 的 callback 依次被調用:

SAP 電商雲 Spartacus UI 3.4.5 版本引入的對并發 SSR 請求的支援

測試結果:10個并發請求,有4個通過 SSR 模式接收到了響應。

SAP 電商雲 Spartacus UI 3.4.5 版本引入的對并發 SSR 請求的支援

繼續閱讀