下图是Angular依赖注入运行时处理的multi records数据结构:
对应我在NgModule的providers区域里定义的providers record:
在一个for循环里依次按顺序注入这8个types对应的值:
这也解释了我之前的发现,如果通过provide定义了相同的injection token,但是useClass的providers不一样,则后定义的useClass生效。
这是其中的一次循环:
进入UnknownErrorHandler的实例化过程:
执行完代码第14行,responseStatus字段成功被赋值: