You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TS封装axios调用API返回数组仅展示单条数据,与Postman结果不符如何解决

问题1:数组解构误用导致仅读取首项

你代码中const [locationResponseRes] = locationResponse;是数组解构赋值,功能就是取出数组的第一个元素赋值给locationResponseRes,这就是你只能看到伦敦数据的核心原因。
如果要查看全部返回结果,直接打印完整的返回数组即可:

console.log(locationResponse)

遍历数组就可以获取所有城市的返回数据:

locationResponse.forEach(item => {
  console.log(item)
})

问题2:TypeScript接口定义与实际返回结构不匹配

你当前定义的LocationResult接口存在两处错误:

  1. location字段实际是单个对象,你定义成了FOLocations[]数组类型
  2. cityName实际嵌套在location对象内部,你定义成了和location平级的字段
    修正后的接口定义如下:
export interface apiRequest {
  locations: LocationOptions[];
}
interface FOLocations {
  locationId: number;
  cityName: string; // cityName移到FOLocations内部
}
interface LocationResult {
  location: FOLocations; // 去掉数组标识,匹配实际返回的对象结构
}

关于你提到的entity[]处理方式

不需要额外通过entity[]的方式处理,你现有问题都是基础语法使用错误和类型定义不匹配导致的,修正上述两个问题就能正常获取全部返回数据。

内容的提问来源于stack exchange,提问作者PoolWorld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 10:15:03