有人能指出我哪里出错了吗?我有一个简单的API获取请求。这从我的API获取数据很好
const GetMedicalPackages = async (props:IGetMedPack)=>{
const token = props.token
const data = axios({
method:"get",
responseType:"json",
url : baseURL + "medicalPackage",
headers: { "Authorization": `Bearer ${token}`}
})
await data;
return data.then((response:IMedicalPackageData| undefined)=>{
return response
})
}
这将返回类似Data from API的数据
现在,尝试使用此代码访问数据将返回,此代码始终返回和未定义
useEffect(() => {
//async function fetchMyData() {
GetMedicalPackages({ token }).then((response) => {
if (response) {
const options = response.data.map((row) => {
console.log(row.MedicalInsurancePackage);
return row.MedicalInsurancePackage;
//console.log(row);
//options.push(row.MedicalInsurancePackage);
});
//setMedPackage(options);
console.log(options, response.data);
}
});
options values
我怀疑这与每行返回的对象有关,但我可能错了。有人能指出错误吗?谢谢
我尝试过foreach和各种技术,但一无所获。以获得字符串数组
为了清楚起见,问题不在于给我数据的axios调用。我可以很好地看到数据。但尝试使用返回的数据是问题所在。控制台日志显示了数据。但一旦我尝试Map它,我就得到了未定义。请参见图像控制台日志行给予我这个
活动程序包:真实医疗保险套餐:“标准”医疗保险套餐说明:“S标准”医疗保险包ID:1 原型:对象
但是控制台日志行.medicalInsurancePackage给予我未定义的
2条答案
按热度按时间fslejnso1#
看起来你误解了
Promise
的工作原理。考虑一下:kmynzznz2#
你不应该
await
你的变量,而应该等待你的axios
调用的结果,然后返回你从它那里得到的响应。