解决vue中axios同步的问题

export  function getDicsList(){
  var result ={};
  Axios.get('../../static/getdicsList.json').then((res)=>{
    result =res;
  })
  return result;
}

如果有类似上面的需求,我要在请求完成后,对数据进行赋值,然后在后面的语句中要操作数据,比如返回它。如果是同步机制,那么最后我可以成功返回result的值,但是axios是异步的。并且axios不像jq的ajax提供async属性,设置 false就可以。

 

但是es6 的promise 逐步解决了层层回调的问题,es8的async await让异步变成了同步的写法。

可以将上面写法写成

  export async function getDicsList(){
    var result =await Axios.get('../../static/getdicsList.json');
    return result;
}

这个时候 ,result就是我要获取得值。需要注意的是,返回的仍然是promise

posted @   zhupan  阅读(14841)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示