【发布时间】:2020-06-07 12:43:38
【问题描述】:
需要使用中间件对一个页面发出 2 个不同的请求。
首先想到的是这样的:
(我知道 2 次退货看起来很愚蠢。)
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');)
问:
如何从语法和设计的角度正确地发布一个构思好的想法?
【问题讨论】:
-
或许你可以将
axios.all与axios.spread结合使用:stackoverflow.com/a/57066175/687137 -
我不明白 - 在这种情况下我应该如何使用 3 个不同的“store.commit”?我应该将它用于“传播”身体吗?
标签: javascript vue.js axios nuxt.js