繁体   English   中英

Angular / RxJS 服务与 http 和重播

[英]Angular / RxJS service with http and replay

我需要创建一个 SessionService,它将包含有关用户的信息,并且应该在所有组件中充当 singleton。

我会像这样使用它:

this.sessionService.user$.subscribe(_ => {
 this.greetingsName = _.firstName;
});

它应该是延迟加载:第一次调用应该获取超过 http 的数据并将其存储在某个地方,任何其他订阅应该重放此存储的数据。

您能否在 Angular / RxJS 中为此建议任何技术/模式/最佳实践?

谢谢!

首先,如果你想要一个 singleton 的服务,你有两个选择:

  • @Injectable()providedIn属性设置为“root”
  • 将服务包含在AppModule或仅由AppModule导入的模块中

至于服务的实现,这个可以做你需要的http请求,把数据保存在一个Subject中。 我建议您使用BehaviorSubject来存储从http请求收到的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM