如何以Object形式返回从Axios接收的数据

问题描述

const Request = axios.create({
baseURL: 'https://ptx.transportdata.tw/MOTC/v2/'
});

export const ScenicSpotRequest = async () => Request.get('Tourism/ScenicSpot? 
$top=30&$format=JSON').then(response => response.data);

export async function getScenicSpotRequest() {
try {
      const item = await ScenicSpotRequest();
      // console.log(item);
      return item;
    } catch (err) {
      console.error(err);
    }
}

返回项的值是一个promise。但是我希望承诺转向对象,我可以像 getScenicSpotRequest[0].Name

一样使用它

解决方法

async 函数将始终返回 Promise。承诺只要它自己得到结果/错误就会给你。

所以如果你想使用Promise的数据你需要使用.then()

例如,无论您在哪里使用 getScenicSpotRequest(),都可以使用 .then 来获得结果。

getScenicSpotRequest().then(res => {
      console.log(res)
})