Я не могу сохранить данные в базе данных после создания аутентификации пользователя - PullRequest
0 голосов
/ 26 мая 2020

Я не могу сохранить данные в базе данных после создания аутентификации пользователя на firebase, в консоли появляется следующая ошибка: «TypeError: firebase.auth (...). CurrentUser is null». кажется, что код не может прочитать uid пользователя после создания аутентификации

код:

createUserButton.addEventListener('click', function(){
firebase.auth().createUserWithEmailAndPassword(emailInput.value, passwordInput.value)
    var user = {
        nome: "Pedro",
        sobrenome: "Ribeiro",
        cpf: "946.201.340-31",
        uid: firebase.auth().currentUser.uid,
        email: emailInput.value,
        password: passwordInput.value
    }
    writeUserData(user)

.catch(function(error) {
// Handle Errors here.
     })
})

function writeUserData(user) {
    firebase.database().ref('users/' + firebase.auth().currentUser.uid).set(user).catch(error =>{
    console.log(error.message)
  })
}

что нужно изменить, чтобы код мог читать uid пользователя и сохранить данные в базе?

1 Ответ

1 голос
/ 26 мая 2020

Вы не ждете завершения процесса создания нового пользователя перед записью базы данных. createUserWithEmailAndPassword возвращает обещание, которое разрешается, когда работа выполнена. Это даст вам объект UserCredential для работы.

firebase.auth().createUserWithEmailAndPassword(emailInput.value, passwordInput.value)
.then(userCredential => {
    // write the database here
})
.catch(error => {
    // there was an error creating the user
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...