2017-12-11 10 views
0

createUserWithEmailAndPassword 함수를 사용하여 사용자를 만든 다음 해당 사용자의 데이터를 데이터베이스에 저장하려고하지만 작동하지 않습니다. 사용자가 인증에 추가됩니다. 탭을 firebase하지만 내 데이터베이스에 없습니다. 나는 또한 오류가 발생하지 않습니다.Firebase가 전자 메일과 암호를 사용하여 사용자를 생성하고 데이터를 데이터베이스에 저장합니다.

registerUser.addEventListener('click', function (user) { 
    event.preventDefault(); 
    closeRegisterForm(); 

    email = registerEmail.value; 
    password = registerPassword.value; 

    firebase.auth().createUserWithEmailAndPassword(email, password) 
     .then(function (event) { 
      var ref = firebase.database().ref("users").child(user.uid).set({ 
       email: user.email, 
       uid: user.uid 
      }); 
     }) 
     .catch(function (error) { 
      var errorCode = error.code; 
      var errorMessage = error.message; 
     }); 
}); 
+0

오류 메시지를 제공하지 않았으므로 유용합니다.) – entio

+0

오류 메시지가 없습니다. 사용자는 firebase의 내 인증 탭에 추가되었지만 데이터베이스에는 없습니다. –

+0

잠재 고객을 처리하지 않습니다. 데이터베이스에 쓸 때 문제가 발생합니다. 약속을 되찾거나 잡을 필요가 있습니다 :'firebase.database() .ref ("users"). child (user.uid) .set ({ 이메일 : user.email, , uid : user.uid }). catch (function (error) {console.error (error);});' –

답변

0

당신은 user.uiduser.email를 참조하지만 user을 정의하지 않습니다. 로그인 방법 인 createUserWithEmailAndPassword의 반환 유형은 사용자이지만 event으로 정의합니다. 또한 프랭크 (Frank)가 권고 한 바와 같이 db 쓰기 약속이 해결되고 오류를 잡을 때까지 기다려야합니다.