鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ axios 請求問題:then方法寫的就獲取不到呢?或是response返回數(shù)據(jù)

axios 請求問題:then方法寫的就獲取不到呢?或是response返回數(shù)據(jù)應(yīng)該怎么寫呢?

我在開發(fā)的時候直接

export let getSliders = ()=>{
  return axios.get('/sliders');
};

就可以返回給組件返回數(shù)據(jù),但是

export let getSliders = ()=>{
axios.get('/sliders').then(response=>{
    console.log(response);//這里可以打印出我想要的數(shù)據(jù)
  }).catch((err)=>{
    console.log(err);
  })

};

在組件中是這樣調(diào)用的

 async getSlider(){
          this.sliders= await getSliders();
        },

怎么用后來then方法寫的就獲取不到呢??或是response返回數(shù)據(jù)應(yīng)該怎么寫呢?求指導(dǎo)

回答
編輯回答
喵小咪

用await的話你的數(shù)據(jù)不應(yīng)該已經(jīng)在this.sliders里面了嗎
如果要用then的話就直接

 async getSlider(){
    return await getSliders();
 }

至于為什么取不到數(shù)據(jù),因為你的的寫法async函數(shù)沒有返回值,會resolve一個undefined作為promise的fulfilled狀態(tài)的value,所以肯定取不到數(shù)據(jù),數(shù)據(jù)已經(jīng)在this.sliders里面了
https://segmentfault.com/a/11... 有需要可以看看這篇了解一下promise

2018年9月13日 11:02
編輯回答
墻頭草
export let getSliders = ()=>{
  return axios.get('/sliders');
};

還用這個就行,await后面同樣也是一個promise。

2017年7月9日 02:33