DI与自定义HTTP循环依赖和ConfigService的

问题描述:

我想实现的ConfigService以获取正确的配置在项目合适的环境。我目前遇到的环扶养DI与自定义HTTP循环依赖和ConfigService的

(index):28 Error: (SystemJS) Provider parse errors: 
    Cannot instantiate cyclic dependency! Http: in NgModule AppModule 
    Error: Provider parse errors: 

我已经了解的代码,有问题,在我看来:

CustomHttp

constructor(backend: XHRBackend, options: RequestOptions, public spinnerService: SpinnerService, public exceptionService: ExceptionService, public configService: ConfigService) 

ExceptionService

constructor(private _notificationService: NotificationService, private _spinnerService: SpinnerService, private _configService: ConfigService, private _router: Router) 

的ConfigService

constructor(private http: Http) {} 

正如你所看到的,我已经在这个图中所示的循环依赖关系(没有任何好习惯):

enter image description here

我现在的问题是,如何解决它?我听说过,但Injector我不知道我真的可以用它在这方面。

预先感谢您的回答。

DI解决不了循环依赖。解决方法是注入注入器并获取实例命令:

@Injectable() 
class ConfigService { 
    private http: Http; 
    constructor(injector:Injector) { 
    setTimeout(() => this.http = injector.get(Http); 
    } 
} 
+0

与此同时,Angular 4还有另一种方法吗? – CSchulz

+0

这是对角2 - 4 –

+0

我希望在此期间有此改善。 – CSchulz