Возможный необработанный отказ от обещания: не удается найти переменную ErrorTitle - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь создать приложение, которое использует аутентификацию Firebase. Я хочу изменить сообщения об ошибках, так как чувствую, что сообщения об ошибках не удобны для пользователя. Я создал эту функцию входа, но я получаю эту ошибку: Possible Unhandled Promise Rejection: ReferenceError: Can't find variable: errorTitle

Это код, который я получил:

try {
  this.setState({
    loading: true
  });
  let user = await auth.signInWithEmailAndPassword(email, password);
  if (user) {
    this.setState({
      loading: false
    });
    this.props.navigation.navigate('Home');
  }
} catch(error) {
  switch (error.code) {
    case 'auth/invalid-email':
      errorTitle = 'Invalid Email';
      errorMessage = 'Please enter a valid email address';
      break;
    case 'auth/user-not-found':
      errorTitle = 'No User Found';
      errorMessage = 'This email does not exist as a user. Please sign up if you want to gain access.';
      break;
    case 'auth/wrong-password':
      errorTitle = 'Wrong Password';
      errorMessage = 'The password is incorrect. Please try again.';
      break;
    default:
      errorTitle = 'Error';
      errorMessage = 'An undefined error happened.';
  }
  this.setState({
    loading: false
  });

  Alert.alert(
    errorTitle,
    errorMessage,
  );
}

Я не могу понять, что вызывает ошибку. У меня есть блок try / catch. Это приложение React Native.

1 Ответ

1 голос
/ 09 апреля 2020

Из того, что я вижу, вы не указали errorTitle или errorMessage в коде. Вы пытаетесь присвоить значение чему-то, что не существует.

Попробуйте просто добавить let errorTitle и let errorMessage чуть выше вашего switch выражения

...