моему приложению нужен токен для каждого вызова API, который он делает. моя проблема в том, что функции выполняются до того, как я наберу gettoken()
, поэтому мой вопрос заключается в том, как остановить vue от выполнения кода до тех пор, пока gettoken()
не закончится
Мой код main. js
methods:
{
getValidToken() {
if (VueCookies.get('token') === null) {
let requestBody = {
client_id: "shopping_oauth_client",
client_secret: "shopping_oauth_secret"
};
let requestHeader = {
Authorization:
"Basic c2hvcHBpbmdfb2F1dGhfY2xpZW50OnNob3BwaW5nX29hdXRoX3NlY3JldA",
};
window.axios
.post(window.main_urls["get-token"], requestBody, {
headers: requestHeader
})
.then(response => {
VueCookies.set("aamts2124222", response.data.access_token);
return VueCookies.get("token");
});
} else {
return VueCookies.get("token");
}
}
}
cart. vue
getCartContent() {
let requestHeader = {
Authorization: "Bearer " + this.getValidToken()
};
window.axios
.get(window.main_urls["get-cart"], { headers: requestHeader })
.then(response => {
if (response.data.error === "Cart is empty") {
this.emptyCart = true;
this.loading = false;
} else {
this.loading = false;
this.cartData = response.data.data;
}
});
},
Итак, как ждать getValidToken()
, затем выполнить getcartcontent()