[英]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.