Angular @NgModule providers里multi等于true在源代码里如何体现的

94 阅读1分钟

本文以SAP Spartacus的DefaultConfigurationChunk这个injection token
的注入为例:

因为是通过helper函数注入的,所以默认multi标志位为true:

multi数组有119个元素:


在injectArgs方法里,最外层是一个大的for循环,逐一处理119个数组元素:

每一次的for循环里,调用一个应用module提供的factory方法:

例如这次循环,将useValue指定的配置对象返回:

如下图所示,如果是useValue,直接返回:


要获取更多Jerry的原创文章,请关注公众号"汪子熙":