vue axios请求数据问题?

写了一个函数返回数据,
Vue.prototype.$http=axios
Vue.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);
}
慕桂英3389331
浏览 674回答 2
2回答

慕哥9229398

用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

不用同步。。。可以这样定义Vue.prototype.getData=function(url){returnaxios.get(url).then(res=>{returnres.data});}应用this.getData(url).then(data=>console.log(data))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript