Angular @NgModule providers里multi等于true在源代码里如何体现的
本文以SAP Spartacus的DefaultConfigurationChunk这个injection token
的注入为例:
因为是通过helper函数注入的,所以默认multi标志位为true:
multi数组有119个元素:
在injectArgs方法里,最外层是一个大的for循环,逐一处理119个数组元素:
每一次的for循环里,调用一个应用module提供的factory方法:
例如这次循环,将useValue指定的配置对象返回:
如下图所示,如果是useValue,直接返回:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":