У меня есть AuthService
, который извлекает данные Observable<auth>
из Firebase и помещает их в общедоступную переменную auth$
.Совместное использование Auth Наблюдаемое значение между компонентами без его выполнения несколько раз
Где-то в моем приложении мне нужно несколько компонентов для доступа к этому значению auth$
, чтобы проверить его содержимое.
Я сейчас просто делаю this.authService.auth$.subscribe(auth => this.auth = auth)
в компонентах.
Означает ли это, что я выполнение
fetch data from Firebase
несколько раз?Если да, то я должен определить аутентификации $ как субъект/BehaviorSubject, подписаться на услугу и передавать данные с
.next
?
FIrebase имеет некоторое внутреннее кэширование, поэтому оно не должно быть проблемой. Вы можете проверить сетевой трафик в 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