APP_INITIALIZER在角度5中不起作用

ran*_*kar 9 typescript es6-promise angular angular5

我需要在Angular初始级别从服务加载配置.因此,对于演示,我已经创建了启动模块,启动类并从Angular核心加载APP_INITIALIZER到启动模块.

检查以下文件,我看不到console.log("Init Function works")以及console.log("GET CONFIG WORKS")

如果有什么不妥,请纠正我.

//模块文件 boot.modue.ts

import { APP_INITIALIZER, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Boot, Config, Menu } from './../../core/classes';
import { MenusService } from './../services/';

export function init(_boot: Boot) {
  console.log("Init Function works");
  return () => {
    return _boot.getConfig();
  };
}


@NgModule({
  imports: [
    CommonModule
  ],
  declarations: [],
  providers: [Boot,
    { provide: APP_INITIALIZER, 
      useFactory: init, 
      deps: [Boot], multi: true 
    }]
})

export class BootModule {
  constructor() { }
}
Run Code Online (Sandbox Code Playgroud)

//类文件 boot.ts

import 'rxjs/add/operator/toPromise';

export class Boot {
    /**
     * getConfig
     */
    public getConfig(): Promise<any> {
        console.log("getConfig");
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                console.log("GET CONFIG WORKS");
                resolve();
            }, 3000);
        });
    }

    /**
     * initMenus
     */
    public initMenus() {

    }
}
Run Code Online (Sandbox Code Playgroud)