如何在axios外面返回一个变量?

时间:2018-05-16 03:53:37

标签: javascript axios

我正在尝试使用axios响应将数据映射到变量,但是当我将其返回到另一个函数以供使用时,该变量仍为空。以下是我的代码:

function factoryBootup() {

  var userInfo = {
    userName: "",
    prefixUrl: ""
  };

  let instance = axios.create({
    timeout: requestTimeout
  });

  instance.get(bootUrl, {
  }).then(function(response) {
    var jsonObj =  JSON.stringify(response.data);
    var a = JSON.parse(jsonObj);
    userInfo.userName = a.userInfo.userId;
    userInfo.prefixUrl = a.userInfo.urlId;
  }).catch((error) => {
    console.log("Get error happens: " + error);
  });

  return userInfo;
}

我想在函数外部导出userInfo变量,但似乎无法正常工作。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

你可以这样试试

function factoryBootup() {
    let instance = axios.create({
        timeout: requestTimeout
    });

    return instance.get(bootUrl, {});
}

然后使用函数,你可能想要像这样使用它:

factoryBootup()
    .then(function(response) {
        var jsonObj =  JSON.stringify(response.data);
        var a = JSON.parse(jsonObj);
        //userInfo.userName = a.userInfo.userId;
        //userInfo.prefixUrl = a.userInfo.urlId;

    })
    .catch((error) => {
        console.log("Get error happens: " + error);
    });