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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue.js axios同步
    26
    0

    问题描述

    vue.js axios请求b需要axios请求a成功后返回的数据,我将axios请求a成功后的数据储存到data中的一个变量,但是在生命周期钩子函数created中先调用a再调用b可是在b函数中接收不到a函数的数据。

    问题出现的环境背景及自己尝试过哪些方法

    我储存到vuex中也不行

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

    getUserInformation() {//获取用户登录成功后的信息

      let userInformation = {};
      let self = this;
      return new Promise((resolve,reject)=>{
        self.$axios.get(RESAPI.getNowUserInfo,{
          params: {}
        }).then(response=>{
          return resolve(response);
        })
      }).then((response)=>{
        let user = response.data.data;
        self.orgCode = user.orgCode;//将b函数需要的值赋值给data中的orgCode
        sessionStorage.setItem("user",user.orgCode);
      })
    },
    getAllServerRoomInfo() {//获取所有机房信息及其附属架构
      let URL = RESAPI.getAllServerRoomInfo;
      let self = this;
      console.log(self.orgCode)//获取不到a函数传过来的值
      let org = sessionStorage.getItem("user");
      let data = {
        org_code: 1
      };
      return new Promise((resolve,reject)=>{
         self.$axios
        .get(URL, {
          params: data
        })
        .then(response => {
          return resolve(response);     
        })
        .catch(err => {
          return reject(err);
          console.log(err);
        });
      }).then((response)=>{
        self.allRoomData = response.data.data.datas;
        let device = JSON.stringify(response.data.data.datas);
        self.infos = response.data.data.infos;
        window.localStorage.setItem('devices',device);
        self.stageCanvas();
      })
    },

    你期待的结果是什么?实际看到的错误信息又是什么?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部