将 Prisma 交易传递到打字稿中的函数中

问题描述 投票:0回答:1

您好,我有以下问题。我有 prisma 交易,但我想将 prisma 交易客户端传递到这样的函数中:

...
prisma.$transaction(async (tx) => {
  someFunction(tx)
})
...

function someFunction(tx: WHATTOTYPEHERE){
}

但是我是用打字稿做的,我不想使用任何类型。但我不知道如何输入交互式 transactin prisma 客户端...“WHATTOTYPEHERE”类型。

如有任何帮助,我们将不胜感激

typescript transactions prisma typing
1个回答
0
投票

如果你查看了

$transaction
的定义,你会发现:

$transaction<R>(fn: (prisma: Omit<this, "$connect" | "$disconnect" | "$on" | "$transaction" | "$use">) => Promise<R>, options?: { maxWait?: number, timeout?: number }): Promise<R>

复制/粘贴该定义并编写您自己的类型以供使用:

import { PrismaClient } from "@prisma/client";

type PrismaTransactionClient = Omit<PrismaClient, "$connect" | "$disconnect" | "$on" | "$transaction" | "$use">

function someFunction(tx: PrismaTransactionClient){
// code here
} 
© www.soinside.com 2019 - 2024. All rights reserved.