Angular 4 получить данные из Firebase - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь получить данные из firebase, но я получил неопределенное значение

код услуги

  getUserData():any{

  var that = this;

 firebase.database().ref('/users/').once('value').then(function(snapshot) {
  console.log("service UserData = "+ JSON.stringify(snapshot.val()) );
    return  snapshot.val();
        })  }

код дома это

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { UserDataProvider } from '../../providers/user-data/user-data';
import * as firebase from 'firebase';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

    UserData1:any;

  constructor(public navCtrl: NavController,private userDateService: UserDataProvider) {

      this.UserData1 =   this.userDateService.getUserData();
      console.log("home UserData = "+ JSON.stringify(this.UserData1) ); 
  }
}

код ниже возвращаемого значения из firebase и результат отображения в консоли

console.log("service UserData = "+ JSON.stringify(snapshot.val()) );

{"city":"iii","email":"iii@iii.com","first_name":"iii","isWorking":"","last_name":"iii","phone":"i","skills":"iiii","state":"ii"}

приведенный ниже код возвращает неопределенное значение из firebase, и результат отображается в консоли

console.log("home UserData = "+ JSON.stringify(this.UserData1) ); 

home UserData = undefined

1 Ответ

0 голосов
/ 27 апреля 2018

Вы не возвращаете данные в функции getUserData. попробуйте код ниже

 getUserData():any{

var that = this;

   return firebase.database().ref('/users/').once('value').then(function(snapshot) {
      console.log("service UserData = "+ JSON.stringify(snapshot.val()) );
        return  snapshot.val();
})  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...