代码:
methods:{
getNum(){
axios({
url: '/api/blog',
method: 'GET'
}).then((res) => {
return res
})
},
getData(){
var a = this.getNum()
console.log(a)
}
}
问题:
上面的代码中console.log(a)打印出来的值是 undefind
原因:
Axios 是异步请求 这是因为你发送了异步请求,但请求的数据还没返回回来,就已经执行到return语句,自然就返回undefind了
在 Axios 里 return 无效
解决:
methods:{
async getNum(){
let post = () ={
return new Promise(resolve =>{
axios({
url: '/api/blog',
method: 'GET'
}).then((res) => {
resolve(res)
})
})}
let result =await post()
return result
},
getData(){
var a;
this.getNum().then((res) => {
a=res
})
console.log(a)
}
}