Я пытаюсь настроить действие входа в систему, используя Parser, который возвращает ошибку, если аутентификация не удалась. Затем я хочу перехватить ошибку и вернуть ее компоненту, в котором отображается ошибка. Однако я всегда получаю необоснованное отклонение обещания.
Я уже пробовал разные способы отклонения или возврата ошибки, но безуспешно.
отклонить (ошибка) (рекомендуется здесь Возвращение обещаний от действий Vuex )
возврат отклонить (ошибка)
вернуть Promise.reject (ошибка)
return Promise.reject (новая Ошибка (error))
или просто
ошибка возврата
мои действия:
actions: {
login(vuexContext, authData) {
console.log(authData.email)
Parse.User.logIn(authData.email, authData.password)
.then(user => {
vuexContext.commit('SET_USER', user)
})
.catch(error => {
console.error('Actions login - Error: ' + error)
reject(error)
})
}
мой метод отправки:
onSubmit() {
this.$store
.dispatch('login', {
email: this.formData.email,
password: this.formData.password
})
.then(() => {
// ..
})
.catch(error => {
console.log('Catching' + error)
if (error.code == 101) {
this.errorMsg = 'Email oder Passwort falsch'
} else {
this.errorMsg =
'Entschuldigung, hier ist etwas schief gelaufen... Fehler: ' +
error.message
}
this.showError = true
this.$router.push('/sessions/new')
})
}
Я ожидаю, что блок catch в методе onSubmit перехватывает ошибку.