账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue-axios 异步的问题
    20
    0

    如下所示,现在想在页面加载的时候先从后台获取到数据,然后把获取到的数据给其他方法使用,并存储在sessionstorage 中。即必须先获取到这个后台返回的数据才执行后续的操作。但是目前这么写device 这个全局变量还没有获取到值就执行后边的方法。怎么让这里先获取到这个后台数据并给device 赋值后再继续执行后续方法。

     resolveDevice(){
        let self=this;
        let agentId=this.$route.params.device;
        console.log(agentId);
        let params={
            "clause":{
              "agentId":agentId
            }
        };
        return new Promise((resolve,reject)=>{
            api.getDeviceList(params).then((res)=>{
                console.log(res);
                let device=res.data.data.content[0];
                resolve(device);
            }) 
            .catch((error) => {
                reject(error);
            })
        })
    },
    async getDeviceInfo(){
      let self=this;
      let device=await self.resolveDevice();
      self.device=device;
      sessionStorage.setItem('device',device);
    }
    mounted(){
        let self=this;
        console.log(this.$route);
        this.getDeviceInfo();
        console.log(this.device);   //这个地方需要输出的应该是获取到的后台数据。
    }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • AI智能解答 超级管理员 2023-04-06 12:191楼
      ``` Vue.js 和 Axios 都是异步的,所以在使用它们时,需要注意处理异步问题。Vue.js 提供了一些实用的 API 来处理异步操作,比如:watch、computed、methods 和 lifecycle hooks 等。Axios 也提供了一些实用的 API 来处理异步操作,比如:axios.all()、axios.spread()、axios.get()、axios.post() 等。通过结合使用这些 API,可以轻松处理 vue-axios 异步的问题。
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部