zl程序教程

您现在的位置是:首页 >  其他

当前栏目

为什么 SAP 电商云 Spartacus 产品明细页面的自定义 matcher 会重复被调用

SAP产品 自定义 调用 页面 为什么 重复 电商
2023-09-14 09:04:00 时间

http://localhost:4200/powertools-spa/en/USD/jerryproduct/3755211/PSR%2010.8%20LI

为什么打开一个 product 明细页面,也调用了 12 次?



看样子是被 Angular router 框架调用的:

原来还真不是多个 roundtrip 重复调用,而是递归调用:

这是一个闭包:

顺便把参数也解析了:

回到 router.js 代码里,现在通过了 noMatch 检测,继续执行。

又要进行第二轮的 match 检测了:

又是一轮递归执行:

现在能够 return 了:

到目前为止已经执行六次了,被调用两次,每次里如上图所示有三个递归,3 × 2 = 6

再次进入 router.js:

三次递归调用:

这里又触发我们的自定义 matcher 了,第三次触发:

又是三个递归调用:

match 通过,创建一个新的 ActivatedRouteSnapshot 对象:

更多Jerry的原创文章,尽在:“汪子熙”: