我有一个AuthService
,它从Firebase获取一个Observable<auth>
数据,并将其放入一个公共变量auth$
。在组件之间共享Auth可观察值而不执行多次
在我的应用程序的某处,我需要多个组件才能访问此auth$
值来检查其内容。
我目前只是在组件中执行this.authService.auth$.subscribe(auth => this.auth = auth)
。
这是否意味着我执行
fetch data from Firebase
多次?如果是,我应该将auth $定义为Subject/BehaviorSubject,订阅服务并推送数据
.next
?
火力点有一定的内部缓存,所以它不应该是一个问题。您可以在DevTools> Network> WebSockets ...中检查网络流量... – Sasxa
好吧,关于Firebase知道的很好,我会检查一下。但是,http呼叫呢? (没有缓存的东西) – Tom
你可以使用['share()'](http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-share)运算符'this。 authService.auth $ = Observable.of('whatever').share()',它应该在所有订阅之间共享... – Sasxa