Angular 2 - APP_INITIALIZER:等待链接承诺

时间:2017-10-05 09:48:59

标签: angular typescript promise

我使用APP_INITIALIZER在其他所有内容之前加载应用程序配置。这工作正常。

现在,我还必须通过询问服务器来获取当前用户。但是,服务器的URL在应用程序配置中(我不能改变它)。

我的问题是:

  

我怎样才能等待所有承诺以正确的顺序实现   在加载应用程序之前?

我在我的application module中尝试了此操作,但应用程序在加载配置后立即启动,并且不会等待我的用户服务。

providers: [
    { provide: APP_INITIALIZER, useFactory: loadConfigFactory, deps: [AppConfig, UserService], multi: true }
]

export function loadConfigFactory(config: AppConfig, userService: UserService) {
    return () => config.load().then((serverURL) => userService.setCurrentUser(serverURL));
}

如何确保我的配置和我的用户在其他所有设置之前设置好?

编辑:

我忘记添加"返回" setCurrentUser承诺中的陈述。所以它已经解决了。

我不会删除帖子,因为它可能会帮助其他想知道在加载应用程序之前如何等待多个承诺的人。

0 个答案:

没有答案