Angular 角度4:Can';t防止模块构造函数在应用程序初始化器函数之前运行-可能吗?

Angular 角度4:Can';t防止模块构造函数在应用程序初始化器函数之前运行-可能吗?,angular,typescript,Angular,Typescript,我有以下几点 这是需要特别注意的部分: export function startupServiceFactory(startupService: StartupService): Promise<any> { console.log('on startupService', startupService); // (1) return () => { console.log("on return service load()"); // (2) re

我有以下几点

这是需要特别注意的部分:

export function startupServiceFactory(startupService: StartupService): Promise<any> {
  console.log('on startupService', startupService);  // (1)
  return () => {
    console.log("on return service load()"); // (2)
    return startupService.load()
  };
}

导出函数startupServiceFactory(startupService:startupService):承诺,或者,由于这些没有涉及如何在模块构造函数执行之前进行加载,它们只是解释了
APP\u初始值设定项的基本用法。

模块构建不是也不能推迟。这就是模块类存在的原因——将您在NgModule meta中提供的信息传送到应用程序。这些是延迟的应用程序引导和模块ngDoBootstrap。如果您对模块构造没有推迟有一些问题,请让问题反映出来。是的,正确,我需要推迟模块构造函数的执行,以便在继续执行其余的应用程序之前从服务器加载某些配置。我将相应地修改答案,以便更清楚地理解。您有XY问题。模块构造不会以任何方式阻止您这样做。如果您在某些特定实现中遇到配置加载问题,请提供它。为什么不执行所有需要的操作,然后调用
boostrapPlatform
?@estus:我已经修改了plunker,以更明确地显示我正在尝试做什么。您将看到
StartupService
试图从文件
config.json
获取数据。在控制台中,您会注意到,当我尝试从AppModule的构造函数中记录其值时,此时用户值未定义。这正是我在真正的应用程序中所要做的@马克西姆·科雷茨基:你会怎么做?你能给我举个例子吗?谢谢两位。