我有以下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应用程序中的其他之前调用服务器?
编辑:通过评论请求,我会尝试更好地解释一下:我需要推迟模块构造函数的执行,这样我才能在继续执行之前从服务器获取某些配置申请。请不要错误地将此问题与this或this弄错,因为这些问题不会解决如何在之前进行加载模块的构造函数执行,它们只是解释了APP_INITIALIZER
令牌的基本用法。