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的原创文章,尽在:"汪子熙":
网友评论