如何定义Promise的返回值TypeScript 泛型类型?

21 min read

在TypeScript中,我们可以使用泛型来定义Promise的返回值类型。为了定义Promise的返回值类型,我们可以使用Promise的泛型参数来指定返回值的类型。

以下是一些示例:

  1. 返回单个值的Promise:
function fetchUser(): Promise<User> {
  return new Promise<User>((resolve, reject) => {
    // 获取用户数据
    resolve(user);
  });
}

在这个示例中,fetchUser函数返回一个Promise,该Promise的返回值类型为User

  1. 返回多个值或数组的Promise:
function fetchUsers(): Promise<User[]> {
  return new Promise<User[]>((resolve, reject) => {
    // 获取用户数据
    resolve(users);
  });
}

在这个示例中,fetchUsers函数返回一个Promise,该Promise的返回值类型为User[]

  1. 返回错误的Promise:
function fetchUser(): Promise<User> {
  return new Promise<User>((resolve, reject) => {
    // 模拟错误
    reject(new Error("Failed to fetch user"));
  });
}

在这个示例中,fetchUser函数返回一个Promise,该Promise的返回值类型为User。但是,如果发生错误,Promise将以错误对象的形式被拒绝。

需要注意的是,以上示例中的User类型仅用作示例,你可以根据自己的需求将其替换为任何适合的类型。