我想创建一个全局异常处理程序,该处理程序在每次发生异常时都抛出一个模式。 一切在代码中似乎都是正确的,但无法正常工作,我使用的是使用Subject的CustomErrorHandler,我的ErrorModalComponent已预订事件,但预订的委托未运行。
观察到的行为: 如果在我的CustomErrorHandler中放置一个断点,它将执行两次,而我使用的是ProvideIn:“ root”,则不应多次实例化它。该组件已订阅CustomErrorHandler的第二个实例的事件,并且处理程序正在从第一个实例进行通知。
第一个构造(模块创建)的调用栈的详细信息:
第二种构造的详细信息(视图创建):
示例代码:https://github.com/xavqR/AngularGettingStarted
有帮助吗?似乎是不适当的angular行为,如果将其注册为单例,则不应创建该处理程序的两个实例。