Angular 4:在APP_INITIALIZER函数之前无法阻止模块构造函数运行 - 可能吗?

时间:2017-08-22 17:26:16

标签: angular typescript

我有以下plunker

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

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

您将能够在控制台中看到,即使第一个console.log 1 )来自模块构造函数之前的{{strong> 1 )调用,下一个在return () =>以下( 2 )正下方。

我需要从服务器获取某个配置,然后我可以使用相同的数据从模块的构造函数初始化服务。 我错过了什么,或者这是不可能的?如何在Angular应用程序中的其他之前调用服务器?

编辑:通过评论请求,我会尝试更好地解释一下:我需要推迟模块构造函数的执行,这样我才能在继续执行之前从服务器获取某些配置申请。

请不要错误地将此问题与thisthis弄错,因为这些问题不会解决如何在之前进行加载模块的构造函数执行,它们只是解释了APP_INITIALIZER令牌的基本用法。

0 个答案:

没有答案