Нужна помощь, потому что я не могу что-то понять ...
У меня есть:
// AuthService.js
login(user) {
return Api.post('/login', user);
},
// store/user.js
async login(context, user) {
try {
let response = await AuthService.login(user);
context.commit('SET_TOKEN', response.data.api_token);
response = await AuthService.me();
context.commit('SET_USER', response.data.user)
}catch (e) {
console.log(e);
}
},
// Login.vue
async onSubmit() {
await this.$store.dispatch('user/login', this.user);
this.$router.push({name: 'Home'});
}
Я знаю, что топор ios вернул обещание, чтобы я мог асинхронизировать / ожидать ответ в магазине / пользователь. Но я действительно застрял, пытаясь отправить ошибку компоненту Login, чтобы остановить router.pu sh и перенаправление.
РЕШЕНИЕ:
// AuthService.js
login(user) {
return Api.post('/login', user);
},
// store/user.js
async login(context, user) {
let response = await AuthService.login(user);
context.commit('SET_TOKEN', response.data.api_token);
response = await AuthService.me();
context.commit('SET_USER', response.data.user)
},
// Login.vue
async onSubmit() {
try {
await this.$store.dispatch('user/login', this.user);
this.$router.push({name: 'Home'});
} catch (e) {
console.log(e);
}
}