我有两种基本类型UserResponse
,LogoutUserResponse
和这两种类型ApiResult
的一种常见类型。
export type UserResponse = { user: number };
export type LogoutUserResponse = { logout: boolean };
export type ApiResult = UserResponse | LogoutUserResponse;
如何为结果fn2和fn3指定返回类型。
const fn = (): ApiResult => ({ user: 2 });
const fn2 = (): UserResponse => fn() as UserResponse;
const fn3 = (): LogoutUserResponse => fn() as LogoutUserResponse;
如果我清除as UserResponse
,编译器会说:
类型'ApiResult'不能分配给类型'UserResponse'。 “ LogoutUserResponse”类型缺少属性“ user”,但在“ UserResponse”类型中必需。
我想泛型应该可以帮助我,但我不知道如何。