MST

星途 面试题库

面试题:TypeScript中从API生成类型策略的基础应用

假设我们有一个简单的API,它接收一个用户ID并返回用户信息,用户信息包含姓名(name)和年龄(age)。请描述如何根据这个API生成相应的TypeScript类型,并且写出实现代码。
49.1万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
  1. 生成TypeScript类型
    • 首先定义一个接口来描述用户信息的结构。因为API返回的用户信息包含姓名(name)和年龄(age),所以可以这样定义接口:
interface UserInfo {
    name: string;
    age: number;
}
  1. 实现代码
    • 假设API是通过fetch来调用的,示例代码如下:
interface UserInfo {
    name: string;
    age: number;
}

async function getUserInfo(userId: number): Promise<UserInfo | null> {
    try {
        const response = await fetch(`/api/user/${userId}`);
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        const data: UserInfo = await response.json();
        return data;
    } catch (error) {
        console.error('Error fetching user info:', error);
        return null;
    }
}

在上述代码中:

  • 定义了UserInfo接口来明确用户信息的类型结构。
  • getUserInfo函数接收一个userId参数,通过fetch调用API,并处理响应。如果响应成功,将返回解析后的UserInfo类型数据;如果失败,返回null。函数的返回类型是Promise<UserInfo | null>,表示它返回一个Promise,这个Promise可能解析为UserInfo类型数据或者null