Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在typescript中编写通用prisma方法?_Typescript_Generics_Prisma - Fatal编程技术网

如何在typescript中编写通用prisma方法?

如何在typescript中编写通用prisma方法?,typescript,generics,prisma,Typescript,Generics,Prisma,prisma通用方法 参考: 已经添加了一个函数 export const getClient = <T, K extends keyof T>(obj: T, key: K): T[K] => obj[key]; export const getClient=(obj:T,key:K):T[K]=>obj[key]; 主要代码: export const client=new PrismaClient(); export const getClient=(obj:T,k

prisma通用方法

参考:

已经添加了一个函数

export const getClient = <T, K extends keyof T>(obj: T, key: K): T[K] => obj[key];
export const getClient=(obj:T,key:K):T[K]=>obj[key];

主要代码:

export const client=new PrismaClient();
export const getClient=(obj:T,key:K):T[K]=>obj[key];
导出枚举DB_表{
用户='User',
Organization=‘Organization’,
UserOrganization='UserOrganization',
服务器='服务器',
ServerInstance='ServerInstance',
部署='部署',
网络='Network'
}
导出函数deleteById(id:string,db:'user'):Promise{
返回getClient(客户端,数据库)
.删除许多({
其中:{
身份证件
}
})
。然后((result)=>result.count==1);
}
导出函数deleteById2(id:string,db:'server'):Promise{
返回getClient(客户端,数据库)
.删除许多({
其中:{
身份证件
}
})
。然后((result)=>result.count==1);
}
导出函数deleteById3(id:string,db:'user'|'server'):Promise{
返回getClient(客户端,数据库)
.删除许多({
其中:{
身份证件
}
})
。然后((result)=>result.count==1);
}
导出函数deleteById4(id:string,db:'user'|'server'):Promise{
返回getClient(客户端,数据库为“用户”)
.删除许多({
其中:{
身份证件
}
})
。然后((result)=>result.count==1);
}
1,2,4可以。(4看起来很奇怪)

3.出现以下错误:

error TS2349: This expression is not callable.
  Each member of the union type '(<T extends UserDeleteManyArgs>(args?: SelectSubset<T, UserDeleteManyArgs>) => PrismaPromise<BatchPayload>) | (<T extends ServerDeleteManyArgs>(args?: SelectSubset<...>) => PrismaPromise<...>)' has signatures, but none of those signatures are compatible with each other.


error TS7006: Parameter 'result' implicitly has an 'any' type.
错误TS2349:此表达式不可调用。
联合类型“((args?:SelectSubset)=>PrismaPromise)|((args?:SelectSubset)=>PrismaPromise)”的每个成员都有签名,但这些签名彼此都不兼容。
错误TS7006:参数“result”隐式具有“any”类型。
如何修复它


来源

请在任何游乐场分享可复制的示例