Для моего Vue приложения я столкнулся со следующей проблемой в IE: 'Необработанный отказ от обещания не определен' .
Я отследил проблему до аутентификации приложения. Но я не уверен, как справиться с этим. Я пробовал блоки try-catch вокруг функций next ().
Ниже кода аутентификации.
import router from '@/config/Router';
import CONST from '@/utils/Constants';
import ObjectHelper from "@/helpers/ObjectHelper";
class Auth {
constructor() {
router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.requiresAuth)) {
if (!Auth.isLoggedIn()) {
next({path: CONST.ROUTE.SESSION.LOGIN});
} else {
next();
}
} else {
next();
}
});
}
static logOut() {
localStorage.clear();
sessionStorage.clear();
router.replace(CONST.ROUTE.SESSION.LOGIN);
}
static isLoggedIn() {
return ObjectHelper.exists(localStorage.getItem(CONST.KEY.AUTH.ACCESS_TOKEN));
}
}
export default Auth;
После this.$router.push(CONST.ROUTE.ORGANISATIONS.OVERVIEW);
в моем логине-компоненте выдается ошибка.
Для полноты я также предоставляю код для маршрутизатора:
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
export default new Router({
base: process.env.BASE_URL,
mode: 'history',
routes: [
{
path: '/',
name: 'home',
component: () => import('@/views/home/home.vue')
},{
path: '/session',
name: 'session',
component: () => import('@/views/session/session.vue'),
children: [
{
path: 'login',
name: 'login',
component: () => import('@/views/session/login/login.vue')
},
{
path: 'logout',
name: 'logout',
component: () => import('@/views/session/logout/logout.vue')
}
]
},
{
path: '/organisations',
alias: '/organisaties',
component: () => import('@/views/organisations/organisations.vue'),
children: [
{
path: '',
name: 'organisations-overview',
component: () => import('@/views/organisations/overview/overview.vue'),
meta: {
requiresAuth: true,
can: 'edit-organisations',
fail: '/session/logout'
}
},
{
path: ':uuid',
name: 'organisation-edit',
component: () => import('@/views/organisations/edit/edit.vue'),
meta: {
requiresAuth: true,
can: 'edit-organisations',
fail: '/session/logout'
}
}
]
}
]
});
Кто-нибудь знает, как решить эту проблему? Большое спасибо!