Typescript 我无法删除错误“Type'User | null'不可分配给Type'User”。Type'null'不可分配给Type'User'
我尝试在return语句中添加非null断言检查,但错误并没有消失。我唯一的解决方案是否严格:tsconfig.json中的false?findOne的返回类型是User | null,有几个条件,请参见下文。该联合类型与作为用户的函数getPrismaUser的返回类型不匹配 要修复错误,请将getPrismaUser的返回类型更改为User | null findOne返回一个普通的旧JavaScript对象或null findoneapi调用返回的对象类型取决于 关于是否使用“选择”和“包括”选项 如果您不使用这两个选项,返回类型将相应 到为模型生成的TypeScript类型Typescript 我无法删除错误“Type'User | null'不可分配给Type'User”。Type'null'不可分配给Type'User',typescript,prisma,Typescript,Prisma,我尝试在return语句中添加非null断言检查,但错误并没有消失。我唯一的解决方案是否严格:tsconfig.json中的false?findOne的返回类型是User | null,有几个条件,请参见下文。该联合类型与作为用户的函数getPrismaUser的返回类型不匹配 要修复错误,请将getPrismaUser的返回类型更改为User | null findOne返回一个普通的旧JavaScript对象或null findoneapi调用返回的对象类型取决于 关于是否使用“选择”和“包
从.中,该错误显示在何处?另外,非null检查在哪里?findOne可能返回null。如果您为此添加一个检查,并在函数为null时抛出一个异常,那么错误将消失,而这不是OP所要求的,我将补充说,他们应该在某个地方处理null返回类型的可能性。
export interface User {
id: string
name: string
bio: string
public_repos: string
public_gists: string
}
async function getPrismaUser(
ctx: Context,
githubUserId: string,
): Promise<User> {
return await ctx.prisma.user.findOne({ where: { githubUserId } })
}