vue.js, JWT много запросов к api

Доброй ночи, подскажите как правильно организовать множественные запросы к api. Есть несколько запросов к api за справочниками?

template:

mounted() {
    this.$store.dispatch('getAllData');
  },

actions:


  actions: {

    async getAllData(context) {
      await apiGetMailingList()
        .then((response) => {
          const mailings = response ? response.data : {};
          context.commit('updateMailings', mailings);

        });
      await apiGetChannels()
        .then((response) => {
          const channels = response ? response.data : {};
          context.commit('updateState', { data: channels, name: 'channels' });

        });
      await apiGetFilters()
        .then((response) => {
          const filters = response ? response.data : {};
          context.commit('updateState', { data: filters, name: 'filters' });

        });
      await apiGetInterval()
        .then((response) => {
          const intervals = response ? response.data : {};
          context.commit('updateState', { data: intervals, name: 'interval' });

        });
      await apiGetEndingTypes()
        .then((response) => {
          const endingTypes = response ? response.data : {};
          context.commit('updateState', { data: endingTypes, name: 'endingTypes' });
        });

      await apiGetFiltersScopes()
        .then((response) => {
          const filters = response ? response.data : {};
          context.commit('updateState', { data: filters, name: 'filtersScopes' });
        });
    },
,

если 403 то рефрешим токен

axios.interceptors.response.use((response => response),
  (error) => {
    if (error.request.status === 403) {
      getRefreshToken()
        .then((response) => {
          const refreshData = response.data;
          localStorage.setItem('accessToken', refreshData.access_token);
          localStorage.setItem('refreshToken', refreshData.refresh_token);
          const dateNow = Math.round(new Date().getTime() / 1000);
          localStorage.setItem('expires_in', parseInt(refreshData.expires_in, 10) + dateNow);
          // eslint-disable-next-line no-param-reassign
          error.config.headers.Authorization = getAccessToken().Authorization;
          return axios(error.config);
        });
    }
  });

так вот если оставить один запрос то все нормально отрабатывает, а если больше то они все кучей спотыкаются о 403 и рефрешат пока какой то не отправит неправильный токен, в общем говоря не работают.


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