Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs firebase更新承诺结果_Angularjs_Firebase_Promise_Firebase Realtime Database - Fatal编程技术网

Angularjs firebase更新承诺结果

Angularjs firebase更新承诺结果,angularjs,firebase,promise,firebase-realtime-database,Angularjs,Firebase,Promise,Firebase Realtime Database,我有一个角度工厂和一个控制器,格式如下。我正在调用注册免费课程功能来更新firebase数据库。然而,在firebase手册中,它说update()可以返回一个承诺,您可以使用它来知道写入何时提交到数据库。 在我的情况下,可能不会提交更新,但我希望捕获它。我正在尝试这个代码,但它现在工作 .controller(...){ CourseFact.RegisterFreeCourses(...).then(function(value){ ...success

我有一个角度工厂和一个控制器,格式如下。我正在调用注册免费课程功能来更新firebase数据库。然而,在firebase手册中,它说update()可以返回一个承诺,您可以使用它来知道写入何时提交到数据库。 在我的情况下,可能不会提交更新,但我希望捕获它。我正在尝试这个代码,但它现在工作

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

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

我如何修复它,或者有更好的例子吗?

错误响应已经在承诺链中,所以您不必捕获它。您只需指定success和error函数,一旦承诺得到解决/拒绝,它们就会被调用

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

错误响应已经在承诺链中,所以您不必捕获它。您只需指定success和error函数,一旦承诺得到解决/拒绝,它们就会被调用

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

可能尝试而不是捕获另一个匿名函数,因此:then(success,error);函数成功(响应){}函数错误(响应){}你说它不工作是什么意思?另外,请显示调用代码…@vodich谢谢它工作了谢谢我添加了它作为应答也许尝试而不是捕获另一个匿名函数所以:那么(成功,错误);函数成功(响应){}函数错误(响应){}你说它不工作是什么意思?另外,请显示呼叫代码…@vodich谢谢,它起作用了谢谢,我把它作为一个答案加上去了