firebase更新承诺结果

时间:2016-07-30 20:15:00

标签: angularjs firebase promise firebase-realtime-database

我有一个角度工厂和一个控制器,格式如下。我正在调用注册免费课程功能,它更新了firebase数据库。但是在firebase手册中,它表示update()可以返回一个Promise,您可以使用它来知道写入何时提交给数据库。 在我的情况下,有可能不会提交更新,但我想抓住它。我正在尝试使用此代码,但现在正在使用。

.controller(...){
CourseFact.RegisterFreeCourses(...).then(function(value){
                  ...success
                }).catch(function (e) {
                   ...fail
                           });
                   })
                   }
    .factory('CourseFact'...
    {
          return {
                RegisterFreeCourses:{
                    updates[.../...] = postDataPlayer;

                    return firebase.database().ref().update(updates);
                 }
            }
    } 

我该如何修复它还是有更好的例子吗?

1 个答案:

答案 0 :(得分:0)

错误响应已经在承诺链中,因此您不必抓住它。您只需指定成功和错误功能,一旦解决/拒绝承诺,它们就会被调用

.then(successCallback, errorCallback);
function successCallback(response){
    //do something
 }
function errorCallback(error){
    //do something else
}