Как сделать 2 Axios запроса для 1 страницы с middleware?
Требуется сделать 2 разных запроса для одной страницы с помощью middleware.
Первое что приходит на ум это что то вроде такого:
(понимаю что 2 `return'-а выглядят довольно стремно.)
export default function ({$axios, req, store, route}) {
if(route.name == "language-tracker-tracking") {
console.log('111');
return $axios.get("https://seo-gmbh.eu/couriertracker/json/couriertracker_api.php?action=get_tracking_data&key_id=" + route.params.tracking.toLowerCase(), {})
.then(response => {
store.commit('tracking/setTrackingServerData', response.data.data.tracking_data);
})
.catch(function (error) {
console.log(error);
});
}
if(route.name == "language-tracker-tracking") {
console.log('222');
return axios.get("https://seo-gmbh.eu/couriertracker/json/couriertracker_api.php?action=get_tracking_status" , {
})
.then(response => {
store.commit('tracking/setTrackingStatus', response.data.data.tracking_status);
})
.catch(function (error) {
console.log(error);
});
}
}
Далее смотрим в консоль в Firebug:
Можем наблюдать на скрине - срабатывает только первый запрос.
(console.log('111');)
Вопрос:
Как корректно, c точки зрения синтаксиса и проектирования - релизовать задуманную идею?
Ответы (1 шт):
Автор решения: Станислав Усанов
→ Ссылка
"return" завершает выполнение скрипта.
Попробуйте так:
export default async function ({$axios, req, store, route}) {
if(route.name == "language-tracker-tracking") {
var result = [];
result[] = await $axios.get(...);
result[] = await $axios.get(...);
return result;
}
}
