写了一个函数返回数据,Vue.prototype.$http=axiosVue.prototype.getData=function(url){let_data='';this.$http.get(url).then(res=>{_data=res.data;});return_data;}这样获取不到数据,返回的还是空。不知道怎么解决,或有什么办法可以对axios设置同步。我是想这样直接获取数据this.list=this.getData(url);或者data的时候,直接返回数据data:function(){returnthis.getData(url);}
2 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
用asyncawait可以达到局部的同步写法Vue.prototype.getData=function(url){returnthis.$http.get(url).then(res=>res.data);}//调用this.getData('url').then(res=>{console.log(res)})//asyncasyncfunction(){vardata=awaitthis.getData(url);console.log(data);}
慕的地6264312
TA贡献1817条经验 获得超6个赞
不用同步。。。可以这样定义Vue.prototype.getData=function(url){returnaxios.get(url).then(res=>{returnres.data});}应用this.getData(url).then(data=>console.log(data))
添加回答
举报
0/150
提交
取消