prisma typescript

typescript - 我无法删除错误“类型'User | null'无法分配给类型'User'。类型'null'不是屁股

发布于 2020-06-22 17:52:21
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 } })
}

我尝试在return语句中添加非null断言检查,但该错误不会消失。我唯一的解决方案是“严格”:tsconfig.json中为false吗?

查看更多

提问者
fardown
被浏览
15
OSH 2020-04-02 06:55

返回类型findOne()User | null(有一些条件,请参见下文)。该联盟类型不匹配你的函数的返回类型getPrismaUser()User

要解决您的错误,请将的返回类型更改getPrismaUser()User | null

findOne返回一个普通的旧JavaScript对象,或者返回null。

findOne API调用返回的对象的类型取决于您是否使用select和include选项。

如果您都不使用这些选项,则返回类型将对应于为模型生成的TypeScript类型。

来自Prisma文档