Я хочу реализовать метод входа в систему. Мой код для этого:
login() {
let user = {
email: this.email,
password: this.password
};
this.$store.dispatch('auth/login', user)
console.log(this.$store.getters['auth/getAuthError'])
},
Где я добираюсь до магазина и отправляю действие входа в систему.
действие в хранилище выглядит следующим образом:
login(vuexContext, user) {
return axios.post('http://localhost:8000/api/user/login', user)
.then(res => {
vuexContext.commit('setToken', res.data.token)
vuexContext.commit('setUser', res.data, {root: true})
localStorage.setItem('token', res.data.token)
Cookie.set('token', res.data.token )
this.$router.push('/')
}).catch(err => {
vuexContext.commit('setAuthError', err.response.data)
})
},
В блоке catch, если происходит ошибка, я обновляю состояние и задаю свойству authError
полученную ошибку.
Моя проблема в том, что в методе входа в систему оператор console.log
выполняется до фактического завершения действия, поэтому свойство authError
- это состояние, которое еще не установлено. Как решить эту проблему?