У меня есть следующий код:
router.beforeEach((to, from, next) => {
if (to.name !== from.name) {
store
.dispatch("fetchCurrentUser")
.then(() => {
console.log('then');
// do something
next();
})
.catch(() => {
console.log('catch');
router.push("/login");
next();
});
} else {
next();
}
// next();
});
Я пытаюсь получить текущего пользователя, и если это удается, то что-то сделать с этими данными, а если запрос не выполнен, то перенаправить пользователя на страницу входа. Но вызовы next () не работают, я получаю «then» или «catch» в консоли, но перенаправление не происходит и начинается бесконечный цикл. Но если я возьму next () из условия (закомментированная строка), перенаправление будет работать нормально.