SSR в Nuxt (ошибка запроса)

Маюсь уже неделю не могу разрулить следующую проблему:

  1. Обновляю токен jwt и refresh
  2. Использую setTimeout с колбэклм внутри каторого делаю запрос на сервер для получения нудных данных
  3. При открытии страницы - > входа (login) -> через 1 мин (по таймеру) уходит запрос все ок.
  4. Я обновляю страницу в VUEX у меня используется nuxtServerInit (там тоже запрос на сервер при SSR)
  5. Все последующие запросы в рамках пункта 2 ошибка введите сюда описание изображения

В setTimeout при использовании consol.log я вижу введите сюда описание изображения

вот часть функции

inretTocen: async function () { // проверка времени жизни токена
                    console.log(this.token)
                    let shet = 0;
                    const iThis = this;
                    let teams = setTimeout(async function trek() {
                        console.log("Выполняем действие " + iThis.token )
                        if (iThis.tam()) {
                            console.log('Останавливаем')
                            clearTimeout(teams);
                            await fak(iThis)
                        } else {
                            teams = setTimeout(trek, 500)
                        }
                    }, 500, )

Складывается впечатление, что после обнавления страницы c использованием SSR появляется 2 запроса Cannot set headers after they are to client

Это проблема с SSR и Axios до этого была проблема с копированием Cookie в Axios ее я решил

Что я делаю не так?

полный код обновления

...
       data: function () {
            return {
                name: "",
                userNames: '',
                token: this.$store.getters['auth/Token'],
                intervalToken: setTimeout(async () => this.inretTocen(), 1000),
                teamsnew: '',
                tamw: '',
                flag: true
            }
        }           

...   
  inretTocen: async function () { // проверка времени жизни токена

                    console.log(this.token)

                    let shet = 0;
                    const iThis = this;
                    let teams = setTimeout(async function trek() {
                        console.log("Выполняем действие " + iThis.token )

                        if (iThis.tam()) {
                            console.log('Останавливаем')
                            clearTimeout(teams);
                            await fak(iThis)
                        } else {
                            teams = setTimeout(trek, 500)
                        }
                    }, 500, )


                    async function fak(iThis) {

                        if (iThis.flag) {
                            console.log("Отправляем запрос")
                            iThis.flag = false
                            let g = await iThis.$axios({
                                method: 'post',
                                url: '/api/updjwt',
                                withCredentials: true,
                                credentials: true,
                                params: {
                                    jwt: iThis.$store.getters['auth/Token'],
                                    id: iThis.$store.getters['auth/User'].id,
                                }
                            }).then(function (response) {
                                return response.data;
                            })
                            //console.log('g')
                            // console.log(g)
                            if (g) {
                                // При выходе пользователя очищаем переменную

                                iThis.tamw = '';
                                await iThis.$store.dispatch('auth/TOKEN', g.token);
                                //console.log(this.$store.getters['auth/Token'])
                                iThis.flag = true
                            }
                        }

                    }

                },
                tam:  function () {
                    if (this.$store.getters['auth/Token']) {

                        console.log("Заходим в функцию - " + this.$store.getters['auth/Token'])
                        let decoded = jwt.decode(this.$store.getters['auth/Token'], {complete: true});
                        if (decoded) {
                            let a = Math.floor(Date.now() / 1000); // текущее состояние времени
                            let b = decoded.payload.exp // состояние времени токена
                            this.teamsnew = b - a // значение с минусом, токен не действителен
                            if (this.tamw === '') {
                                this.tamw = this.teamsnew * 0.6
                            }
                            if (this.teamsnew <= this.tamw) { //500 <= (500*0.05)=475
                                this.tamw = "Обновляем токен"
                                this.tamw = '';
                                console.log("Обновляем!")
                                return true
                            }else {
                                return false
                            }
                        }
                    }
                }

Ответы (0 шт):