kullandığım Angular2 v2.2.3) işlevi:Angular2 - böyle ben forRoot (ortak modül oluşturduk</p> <p>asenkron bağımlılık enjeksiyon
export function ConfigFactory(http:Http):Promise<ConfigService> {
return http.get('confg/config.json').map(r => {
return new ConfigService(r);
}).toPromise();
}
: Burada
...
public static forRoot(): ModuleWithProviders {
return {
ngModule: CommonsModule,
providers: [
SomeOtherDependency,
{
provide: ConfigService,
useFactory: ConfigFactory,
deps: [Http]
}
]
};
benim ConfigFactory olduğunu
Promise ve Gözlemlenebilirleri de iade etmeye çalıştım. sağlayıcılar tanımlanan
SomeOtherDependency ConfigService gerektirir. Sorun şu ki, Açısal, söz tarafından çözülen değeri vermez, ancak söz verir.
Ben söz doğru bağımlılık çözülene kadar beklemek açısal zorlamak ve ancak o zaman diğer bağımlılıklar için enjekte nasıl?
Ben farklı yaklaşımlar denedim ve her zaman enjekte değer söz veya gözlemlenebilir. Tıpkı iniektörün hangi tip fabrikanın geri döndüğünü göz ardı etmesi gibi. Bütün uygulama Bir sorunum buldum
Olası yinelenen:
Ve modülünde
: Burada APP_INITIALIZER ile çalışır fabrikayı güncellenir/sorular/38127741/açısal-2-hizmetler tüketen-diğerleri-hizmetler-öncesi-call-a-yöntemi) kontrol edin – estusda bu soruya http://stackoverflow.com/questions/40522938/lazy-loading-module için yorumlar -with-app-initializer? noredirect = 1 # comment68288686_40522938 – yurzui
Sormadan önce bu konuları gördüm. Benim için çalışmıyorlar. –