gpt4 book ai didi

javascript - 我想在一个完成后执行 axios 请求

转载 作者:行者123 更新时间:2023-12-05 05:15:15 24 4
gpt4 key购买 nike

我有 axios 请求获取一些数据并将其存储在本地存储中我想在第一个请求完成后发出另一个请求并使用第一个请求响应数据

this.$http.post("http://localhost:8000/oauth/token", data).then(response => { 
this.$auth.setToken(
response.data.access_token,
response.data.expires_in + Date.now()
);
}).then(()=>{
this.$http.get("user").then(response => {
this.$auth.setAuthenticatedUser(response.data);
this.user = response.data;
this.image = response.data.image;
this.$bus.$emit('logged_user',response.data);
});

this.$http
.get("http://localhost:8000/api/tpa/provider/status")
.then(res => {
localStorage.setItem("tpa_provider", JSON.stringify(res.data));
});

this.$bus.$emit('logged_user',this.user);

if(this.$auth.isAuth()){
this.$router.push({"name":"home"});
}

我也试过使用async await但是我做不到

最佳答案

选项 1。您可以通过 return 将结果传递给下一个。

this.$http.post("http://localhost:8000/oauth/token", data).then(response => {
// ...
return response;
}).then((myResponse) => {
console.log('first result', myResponse);
// ...
});

选项 2。您可以将第一个请求的结果存储在 super 作用域变量中。

let myResponse;

this.$http.post("http://localhost:8000/oauth/token", data).then(response => {
myResponse = response;
// ...
}).then(() => {
console.log('first result', myResponse);
// ...
});

关于javascript - 我想在一个完成后执行 axios 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51803654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com