亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue+axios?methods方法return取不到值問題及解決

 更新時(shí)間:2022年10月14日 08:23:42   作者:dyao23  
這篇文章主要介紹了vue+axios?methods方法return取不到值問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue+axios methods方法return取不到值

vue寫了一個(gè)判斷電話號碼是否存在的方法無法取到返回值

原因

因?yàn)閍xios是異步操作,在獲取返回值時(shí)請求操作還沒有完成就已經(jīng)完成了賦值操作,所以結(jié)果的undefined。

解決方法

使用async + await。async聲明方法為異步方法,await等待異步操作執(zhí)行完。

另外: 異步方法返回值為peomise<>,接收時(shí)需要.then(res=>{})

vue返回axios的return值,很容易u(yù)ndefined

獲取axios的return值

1.如果直接在.then里return,得到的值就是undefined,如下

map(){
?? ?let a=[]
?? ?mapChina().then(res=>{?? ?//調(diào)用axios自己封裝的接口
?? ??? ?a=res?
?? ?})
?? ?return a
}
const b=this.map()?? ??? ?//結(jié)果是undefined

因axios返回值是異步操作,獲取返回值時(shí),請求操作還未完成,就已經(jīng)執(zhí)行了賦值,導(dǎo)致結(jié)果位undefined

2.解決方法使用async….await,async聲明發(fā)放為異步方法,await等待異步操作執(zhí)行完畢

async map(){
?? ?let a=[]
?? ?await mapChina().then(res=>{?? ?//調(diào)用axios自己封裝的接口
?? ??? ?a=res?
?? ?})
?? ?return a
}
const b=await this.map() ?? ??? ?//結(jié)果正確返回a

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論