Как в сервисе Angular 9 получить данные из Firebase Realtime Database и передать их компоненту?

Изучаю Angular 9 !!!Вопрос в следующем: как в сервисе(Angular) получить данные (как получить данные, в принципе, я знаю) записать их в массив ,ну и соответственно данные отобразить в компоненте! Неделю сижу, получаю в компоненте в методе ngOnInit() пустой массив , перебрал все что знаю на данный момент...Ничего... Ниже код сервиса(он может быть и вовсе неверный ,т.к. только начал изучать данный фреймворк),в компоненте ничего нет,кроме того ,что в методе ngOnInit() в консоль проверяю данные сервиса(console.log(this.AuthInitialization.userInfo) === []):

import { FirebaseServiceService, UserData } from './firebase-service.service';
import { Injectable } from '@angular/core';
import { Observable, of } from 'rxjs';
import { Router } from '@angular/router';

export interface UserInfo {
  avatar: string,
  name?: string
}

@Injectable({providedIn: 'root'})
export class AuthInitialization {

  private isAuth: boolean
  invalidDataMessage: boolean  = true
  userInfo: UserInfo[] = []
  userData: any = JSON.parse(localStorage.getItem('PostBy'))

  constructor(
    private firebaseService: FirebaseServiceService,
    private router: Router
    ) {
      if(this.userData !== null) {
        this.firebaseService.firebase.database.ref('Users/' + this.userData[0].username).on('value', (resp: any) => {
          this.isAuth = resp.val().access
          this.userInfo = [
            {
              avatar: resp.val().profile,
              name: resp.val().name
            }
          ]
        })
      }
    }

Хотелось бы в компоненте получить эти данные , а так this.userInfo , как ни кручу - пустой массив , хотя если в консоль вывести сам Сервис , то в нем присутствует userInfo с данными ,но извлечь их не могу ,то ошибка ,то undefined...Пожалуйста помогите !!!И еще данные нужно получать не по нажатию на кнопку или еще по каким-нибудь манипуляциям...Загрузка приложения - будет проверка- получить и вывести данные ...


Ответы (0 шт):