Angular-登录后在何处运行初始化HTTP请求

Angular-登录后在何处运行初始化HTTP请求,angular,http,rxjs,angular-routing,Angular,Http,Rxjs,Angular Routing,我有一个关于何时何地发送多个HTTP初始化信息(类型、业务日期等)请求的设计问题,这些信息将显示在所有组件中 现在我有了我的auth.guard,在用户登录后检索用户声明和授权规则,然后检查用户是否被授权。警卫根据其角色返回true或false。从这里开始,我有大约10个信息HTTP调用,这些调用对于我的大多数组件都是相同的。但是我想让这些HTTP调用远离我的auth.guard,因为它们可以在组件加载时在后台运行,而这不应该是auth.guard的责任 我还使用了一个共享服务,它使用行为子对象

我有一个关于何时何地发送多个
HTTP
初始化信息(类型、业务日期等)请求的设计问题,这些信息将显示在所有组件中

现在我有了我的
auth.guard
,在用户登录后检索用户声明和授权规则,然后检查用户是否被授权。警卫根据其角色返回
true
false
。从这里开始,我有大约10个信息
HTTP
调用,这些调用对于我的大多数组件都是相同的。但是我想让这些
HTTP
调用远离我的
auth.guard
,因为它们可以在组件加载时在后台运行,而这不应该是
auth.guard
的责任

我还使用了一个共享服务,它使用
行为子对象
,因此多个组件可以订阅该值

因此,我的主要问题是,在
auth.guard
返回
true
后,运行
x
大量
HTTP
请求并更新共享服务的最佳做法是什么。这需要应用于任意数量的组件

我也一直在研究路由解析程序,它可能会解决这个问题,但我更愿意将数据保存到共享服务,而不是将数据返回到组件并等待


另一个让这更复杂的地方是,我的10个
HTTP
调用分布在多个服务中,因此如果我有一个共享服务,它将需要注入所有其他服务。

只需在组件构造函数中运行它们?@mast3rd3mon我只想在登录后运行这些HTTP请求一次。因此,如果我从一个组件导航到另一个组件,就不要重新运行请求。另外,它们是一样的,所以我想把它放在一个地方,以减少代码重复,然后有一个全局服务,您可以在其中调用它们?@deezg这发生在用户登录之后,所以在应用程序初始化之后是一个很好的时间。用户需要经过身份验证才能获得http响应。