Отображение нежелательного предупреждения при входе в систему

#javascript #firebase #authentication

# #javascript #firebase #аутентификация

Вопрос:

     function signUp(){
    
    var email = document.getElementById("email");
    var password = document.getElementById("password");
    
    const promise = auth.createUserWithEmailAndPassword(email.value, password.value);

            promise.catch(e => alert(e.message));
    
    
    
        alert("Signed Up");


}
 

У меня здесь есть этот код, который при вводе действительного адреса электронной почты и пароля пользователь нажимает кнопку и регистрирует пользователя. Но когда пользователь вводит неверные данные, отображается предупреждение («Зарегистрирован») вместе с сообщением об ошибке, есть ли способ избежать этого?

Ответ №1:

Как написано, предупреждение «Зарегистрировался» запускается немедленно, до завершения CreateUser, независимо от того, удастся оно или нет. Способ использования promises — поместить код, который должен выполняться после успешного завершения, в then блок, а обработку ошибок — как у вас есть — в catch …

 const promise = auth.createUserWithEmailAndPassword(email.value, password.value);
promise.then(() => alert("Signed Up")).catch(e => alert(e.message));