2016-07-30 9 views
0

私は角度のある工場とコントローラを以下のフォーマットで持っています。 firebaseデータベースを更新するregister free courses関数を呼び出しています。しかし、firebaseのマニュアルでは、update()がPromiseを返すことができるので、書き込みがデータベースにコミットされたときを知ることができます。 私のケースでは、更新がコミットされない可能性がありますが、私はそれをキャッチしたいです。私はこのコードを試していますが、現在は動作しています。firebase update promise result

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

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

私はそれを修正することができますか、より良い例がありますか?

+0

を拒否:その後、 (成功、エラー)。 関数の成功(レスポンス){} 関数エラー(レスポンス){} – vodich

+0

どういう意味ですか?また、呼び出しコードを表示してください... –

+0

@vodichは働いてくれてありがとう –

答えて

0

エラー応答はすでに約束しているので、それをキャッチする必要はありません。あなただけの成功と誤差関数を指定することができますし、約束が解決されれば、彼らが呼び出されます/かもしれないので、別の匿名関数試みる代わりにキャッチ

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