#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));