在這個版本裡,我們引入了一個新的布爾類型的标志位:reuseCurrentRendering
以及一個新的 Map 資料結構:renderCallbacks
相當于一個觀察-釋出者模式的應用。如果有若幹并發請求試圖通路同一個 page key,則我們服務其中一個請求,将其他請求的 callback 放到 Map 的值即數組中。待被選中的請求服務結束,生成了 HTML 之後,再将 renderCallbacks 裡的 callback 數組裡的回調函數逐一調用。
在運作時,該 map 的資料結構和值如下圖所示: