为什么 SAP 电商云 Spartacus 产品明细页面的自定义 matcher 会重复被调用
http://localhost:4200/powertools-spa/en/USD/jerryproduct/3755211/PSR%2010.8%20LI
為什么打開一個(gè) product 明細(xì)頁面,也調(diào)用了 12 次?
看樣子是被 Angular router 框架調(diào)用的:
原來還真不是多個(gè) roundtrip 重復(fù)調(diào)用,而是遞歸調(diào)用:
這是一個(gè)閉包:
順便把參數(shù)也解析了:
回到 router.js 代碼里,現(xiàn)在通過了 noMatch 檢測,繼續(xù)執(zhí)行。
又要進(jìn)行第二輪的 match 檢測了:
又是一輪遞歸執(zhí)行:
現(xiàn)在能夠 return 了:
到目前為止已經(jīng)執(zhí)行六次了,被調(diào)用兩次,每次里如上圖所示有三個(gè)遞歸,3 × 2 = 6
再次進(jìn)入 router.js:
三次遞歸調(diào)用:
這里又觸發(fā)我們的自定義 matcher 了,第三次觸發(fā):
又是三個(gè)遞歸調(diào)用:
match 通過,創(chuàng)建一個(gè)新的 ActivatedRouteSnapshot 對象:
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的为什么 SAP 电商云 Spartacus 产品明细页面的自定义 matcher 会重复被调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iptables总结,开启端口,查看端口
- 下一篇: SAP 电商云 Spartacus 产品