2017-02-08 25 views
2
NG-CLi - 1.0.0-beta.28.3 
Angular2 : 2.4.6 

這裏的錯誤是我在app.module.ts功能Angular2 APP初始化[I]當NG服務使用

export function authFactory(auth : LoginService){ 
    return auth.loginUser(); 
} 

提供商都是這樣

{ 
    provide: APP_INITIALIZER, 
    //useFactory: (auth: AuthService) =>() => auth.authUser(), 
    useFactory : authFactory, 
    deps: [LoginService], 
    multi: true 
} 

該參考正在運行直到我們從2.1.0angular cliAngular 2升級爲2.4.6。我們還將cli版本從beta 18升級到28

現在當應用程序啓動時,它在控制檯中給出了這個錯誤,我確實看到該請求在loginUser方法中正常工作。但不知何故,它給有關在HTTP POST請求

Unhandled Promise rejection: appInits[i] is not a function ; Zone: ; Task: Promise.then ; Value: TypeError: appInits[i] is not a function

+0

我有同樣的問題 – BILL

回答

1

此錯誤(至少在我的情況)使用承諾錯誤發生時,工廠函數中使用返回不確定

在我來說,我被錯誤地翻譯:

useFactory:() =>() => {} 

useFactory: noop, 
export function noop() {} 

,並解決它改變它:

export function noop(){} 

export function noop() { 
    return() => {}; 
} 

...以及工廠爲空功能的原因是因爲我有一些實體應該在DIC中可用,而沒有任何實體明確注入它們