Ionic + Firebase 无法返回从数据库获取数据的承诺



我是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
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);
    });
}

最新更新