欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

vue+axios methods方法return取不到值

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

原因

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

解決方法

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

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

vue返回axios的return值,很容易undefined

獲取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返回值是異步操作,獲取返回值時,請求操作還未完成,就已經(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

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

相關(guān)文章

最新評論