在根服务初始化之前分配令牌

问题描述

使用angular 10和NGRX。

我正在从API接收对第三方库的访问令牌。收到后,我将其存储在我的NGRX存储中(在本地存储中同步)以在下次重新加载时重用。

问题是,以root用户身份提供的某些服务在构建时会使用该令牌。并且我需要在构建服务之前尽早设置此令牌。

现在,我将其放在我的app.component.ts构造函数

    this.store$.pipe(select(apiToken)).subscribe((token) => {
      Cesium.Ion.defaultAccesstoken = token;
    });

现在,此触发器在我所有的服务构造函数之前触发,但我不知道它是否很幸运,或者是否永远都是这种情况。

在从服务调用令牌之前,我可以确保已设置令牌的方法是什么?

我当时想在所有服务中创建一个initialize方法,然后从某个地方的控制器调用它们,但这有点烦人,所以我想知道是否存在生命周期确定性

解决方法

查看APP_INITIALIZER在启动时进行初始化