我是Web开发的新手,尤其是Firebase。

我正在尝试在Firebase身份验证系统中创建用户时检查是否没有错误,因此可以将该用户放入数据库中。

这是我的代码:

function register() {

    var firebaseRef = firebase.database().ref();

    var shaObj = new jsSHA("SHA-256", "TEXT")
    shaObj.update(passwordField.value)

    //console.log(hash)

    var email = emailField.value
    var password = shaObj.getHash("HEX")

    if (isBarber != null) {

        if (email != "" && password != "") {

            firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
                $('#errorMsg').show();
                $('#errorMsg').text(error.message);

                if (error === null) {

                    var user = firebase.auth().currentUser;
                    var userID = user.uid;

                    firebase.database().ref('users/' + userID).set({
                        userEmail: email,
                        userPassword: password,
                        userIsBarber: isBarber
                    })
                }
            });
        } else {
            alert('Email or password fields are empty')
        }
    } else {
        alert('Select your role')
    }
}


createUserWithEmailAndPassword可以正常工作并创建一个用户,但是我不知道如何检查是否没有错误,因此可以将该用户添加到数据库中。

非常感谢

最佳答案

您可以使用then()对成功注册执行以下操作:

firebase.auth().createUserWithEmailAndPassword(email, password).then(function(user) {
    //Registration is successful
    var user = firebase.auth().currentUser;
    var userID = user.uid;

    firebase.database().ref('users/' + userID).set({
        userEmail: email,
        userPassword: password,
        userIsBarber: isBarber
    })

}).catch(error) {
    //Registration unsuccessful
    $('#errorMsg').show();
    $('#errorMsg').text(error.message);

});

09-11 06:58