gpt4 book ai didi

transactions - 写一个TypeORM@Transaction方法,使用这个方法IDE报错 "Invalid number of arguments, expect 2"

转载 作者:行者123 更新时间:2023-12-04 17:45:18 31 4
gpt4 key购买 nike

我写了一个 Transaction 方法作为 typeorm 官方文档(https://github.com/typeorm/typeorm/blob/master/docs/decorator-reference.md#transaction-transactionmanager-and-transactionrepository)

代码如下:

@Transaction('some-db-connection')
public async savePhoto(record: DeepPartial<Photo>,
@TransactionManager() manager: EntityManager) {
return await manager.save<DeepPartial<Photo>>(record)
}

当我在以下某些地方使用此方法时:
await someRepo.savePhoto(record)

VS Code 和 WebStorm 都将错误报告为“参数数量无效,期望为 2”。谁能知道如何让IDE不报告此错误?谢谢!

附言

虽然IDE报错,但是代码可以无错执行

我所有的代码都是 .ts 文件中的 TypeScript 代码

最佳答案

我的许多服务方法都接受可选的 EntityManager,默认值为 getManager() .这样,调用方法可以决定是否应该将所有内容都包装在事务中。不需要装饰器。

import { getManager, getConnection } from "typeorm"

async function savePhoto(photo: Photo, manager = getManager()): Promise<Photo> {
return manager.save(photo)
}

async function savePhotoWithTransaction(photo: Photo): Promise<Photo> {
return getConnection().transaction((manager) => {
// do some other stuff inside the transaction
return savePhoto(photo, manager)
})
}

async function savePhotoWithoutTransaction(photo: Photo): Promise<Photo> {
return savePhoto(photo)
}

关于transactions - 写一个TypeORM@Transaction方法,使用这个方法IDE报错 "Invalid number of arguments, expect 2",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52421386/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com