喂猪吃鸡腿 2021-11-24 16:34 采纳率: 47.8%
浏览 106
已结题

ajax/axios接收数据异步同步问题

问题遇到的现象和发生背景

因为使用ajax/axios接收接口数据并返回使用,函数调用接收函数返回值时返回为 undefined

问题相关代码,请勿粘贴截图

接收接口数据代码

// ajax
export function hot() {
  let datas;
  $.ajax({
    type: 'GET',
    url: 'http:url',
    // data: datas,
    async: false,
    succeed: function (res) {
      datas = res;
      console.log(1, datas);
    },
  });
  console.log(2, datas);
  return datas;
}
// axios
export function hot1() {
  axios
    .get('http://192.168.28.176:8000')
    .then(function (res) {
      return res;
    })
    .catch(function (error) {
      return error;
    });
}

接收 接收接口函数返回值

export function getBasicData() {
  const datas = hot();
  console.log(3, datas);
}
运行结果及报错内容

运行结果都是 3 1 2 或者3 1

我想要达到的结果

我想要的结果是 接收接口数据返回值之后在执行我之后的代码(console.log(3, datas);)

  • 写回答

3条回答 默认 最新

  • 关注

    async/await

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月25日
  • 修改了问题 11月24日
  • 创建了问题 11月24日