MST

星途 面试题库

面试题:TypeScript泛型在异步函数返回值中的应用

请用TypeScript编写一个异步函数,该函数接收一个数字数组,通过泛型来确保返回值是与传入数组类型一致的Promise。例如传入`number[]`,返回`Promise<number[]>`。并简要说明泛型在这里的作用。
43.8万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
async function processArray<T>(arr: T[]): Promise<T[]> {
    // 模拟异步操作
    await new Promise(resolve => setTimeout(resolve, 1000));
    return arr;
}

泛型在这里的作用:

  1. 增强类型安全性:通过泛型 T,函数可以接受任何类型的数组,并且返回值类型与传入数组类型保持一致。这样在编译时,TypeScript 可以确保类型的正确性,避免在运行时出现类型错误。例如,如果传入 string[],返回值就是 Promise<string[]>,而不是错误地返回 Promise<number[]>
  2. 提高代码复用性:该函数不局限于特定类型的数组,无论是 number[]string[] 还是自定义类型的数组,都可以使用这个函数,而不需要为每种类型的数组都编写一个单独的函数。