При инициализации Vue перестают срабатывать setTimeout()
В связи с тем что настроек при и инициализации приложения очень много, я это всё раскидал по методам класса:
/**
* Vue
*/
import Vue from 'vue';
import vuetify from './plugins/vuetify';
import VueCookie from 'vue-cookie';
import router from './router/router';
/**
* Vuex
*/
import store from './store/store';
import {sync} from 'vuex-router-sync';
/**
* Start layout
*/
import App from './views/layouts/App';
/**
* и т.д.
*/
/**
* Приватные свойства
*/
let _is_initial = false;
/**
* Ссылка
*
* @type {null}
* @private
*/
let _app = null;
let _storage = null;
let _store = null;
let _router = null;
let _cookie = null;
let _echo = null;
export default class Application {
/**
* Методы инициализации разных сущностей
*/
static async initKeysAndHash() {
// некоторая логика
}
static async updateState() {
// некоторая логика
}
static initVue() {
Vue.use(_cookie);
sync(_store, _router);
_app = new Vue({
el: '#app',
vuetify,
store: _store,
router: _router,
mixins: [roles_mixin],
render: h => h(App),
});
return Application;
}
/**
* Запуск приложения
*/
static run() {
if (!_is_initial) {
_is_initial = true;
_storage = new Storage(LocalStorage);
_store = store;
_router = router;
_cookie = VueCookie;
_echo = Echo;
Application.initAppPreloader();
Application.initEcho();
await Application.initKeysAndHash();
await Application.updateState();
Application.initVue();
setTimeout(() => console.log('test'), 5000 );
} else {
throw new Error('The application is already running');
}
}
}
Запус приложения:
/**
* Start Application
*/
import Application from './Application';
Application.run();
Если законсолить setTimeout(), то он есть, но не выполняется. Как только я комментриую вызов метода Application.initVue(), то таймаут работает. В чём может быть проблема?