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

如何确定TypeScript中Promise的泛型类型?JS转TS问题求助

解决方法

首先,你需要先定义API返回的用户数据结构对应的TypeScript类型,再把Promise的泛型指定为该类型的数组。

步骤1:定义数据类型

根据目标API的返回结构,用户对象包含id、email、first_name、last_name、avatar这些字段,先定义对应的类型:

interface User {
  id: number;
  email: string;
  first_name: string;
  last_name: string;
  avatar: string;
}

步骤2:完善函数的类型标注

给参数pageNum添加number类型,将Promise的泛型指定为User[](用户数组),同时修正原函数中变量未声明的问题:

async function getData(pageNum: number): Promise<User[]> {
  let response = await (await fetch(`https://reqres.in/api/users?page=${pageNum}`)).json();
  response = response.data;
  return response.map(user => user);
}

额外提示

  • 要是不确定API返回结构,可以先在浏览器控制台查看返回数据,再精准定义类型;
  • 原函数里的map(user => user)属于冗余操作,直接return response.data就能达到同样效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:50:28