2016-07-30 3 views
0

각도 공장과 컨트롤러가 아래 형식입니다. firebase 데이터베이스를 업데이트하는 register free courses 함수를 호출하고 있습니다. 그러나 firebase 설명서에서 update()는 Promise를 반환 할 수 있으므로 쓰기가 데이터베이스에 커밋 된시기를 알 수 있습니다. 내 경우에는 업데이트를 적용하지 않을 가능성이 있지만이를 파악하고자 할 수 있습니다. 나는이 코드를 시도하고 있지만 현재 작동 중이다.firebase 업데이트 약속 결과

.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 
}