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 и рефрешат пока какой то не отправит неправильный токен, в общем говоря не работают.