面试题答案
一键面试async function processArray<T>(arr: T[]): Promise<T[]> {
// 模拟异步操作
await new Promise(resolve => setTimeout(resolve, 1000));
return arr;
}
泛型在这里的作用:
- 增强类型安全性:通过泛型
T
,函数可以接受任何类型的数组,并且返回值类型与传入数组类型保持一致。这样在编译时,TypeScript 可以确保类型的正确性,避免在运行时出现类型错误。例如,如果传入string[]
,返回值就是Promise<string[]>
,而不是错误地返回Promise<number[]>
。 - 提高代码复用性:该函数不局限于特定类型的数组,无论是
number[]
、string[]
还是自定义类型的数组,都可以使用这个函数,而不需要为每种类型的数组都编写一个单独的函数。