$ injector.get()的副作用? AngularJS

时间:2017-04-03 12:02:13

标签: javascript angularjs dependency-injection dependencies

我试图使用依赖于$ http的服务来装饰$ log,并且它引发循环依赖性错误。一些修复指向让我的工厂通过$ injector.get(' myService'),因此myService的DI被延迟并且不会引发错误。

无论如何,无论是否延迟,都存在循环依赖,我试图猜测这样做会出现什么问题,因为我虽然$ injector.get是一种反模式

那么,使用$ inject.get()?

可以产生哪些副作用/ bug可以避免循环依赖注入

1 个答案:

答案 0 :(得分:0)

在我之前的项目中,我们尝试实现相同但面对循环依赖,但我们想出了一个不同的解决方案来处理这个错误。

  

1.使用$ inject.get()?

,副作用/ bug可以避免循环依赖注入

虽然来到循环依赖,但始终是混合关注点的标志。有一个更好的例子可以通过Miško Hevery在他精彩的博客上解释这种现象。

简而言之,回答你的(副作用/错误可以产生)部分问题:你可能会在某处隐藏第三个服务,这是你的代码中唯一真正需要的部分。另外两个,所以如果在该隐藏服务中发生任何错误,它可能不会引发错误,这可能是您可能面临的副作用。

要克服这种未处理的行为,如果您愿意通过添加Jquery并使用Ajax记录错误来尝试其他解决方案,我可以为您提供我们为记录错误而实现的角度模块,而不会导致循环依赖。