Ionic + Firebase无法从DB获取数据的承诺

时间:2017-05-22 07:03:11

标签: firebase ionic-framework firebase-realtime-database

我是Firebase和Ionic的新手,目前正在尝试从加载某个视图时从服务器获取一些数据。现在我能够获取服务中的数据,但是我无法将获取的data作为对控制器的承诺返回。这是调用服务的代码:

 $scope.$on('$ionicView.beforeEnter', function () {
    var user = firebase.auth().currentUser;       
    fireBaseService.getDataFromDB(user.uid).then(function(res){
      console.log(res); 
    });

以下是调用Firebase API的服务:

this.getDataFromDB = function(uid){
    return firebase.database().ref('table/' + uid).on('value', function(snapshot) {
        var data = snapshot.val(); //data is available here
        return data;
    });
}


这是我得到的错误:

TypeError: fireBaseService.getExpensesFromDB(...).then is not a function

1 个答案:

答案 0 :(得分:0)

call from controller
fireBaseService.getDataFromDB(user.uid, function(res) {
  console.log(res);
}

service call
getDataFromDB = function(uid, callback){
    return firebase.database().ref('table/' + uid).on('value', function(snapshot) {
        var data = snapshot.val(); //data is available here
        callback(data);
    });
}