You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeORM中delete异步方法的类型是什么?示例方法返回类型问询

TypeORM删除方法及自定义异步方法的类型说明

1. TypeORM中delete异步方法的类型

在TypeORM中,通过QueryBuilder调用的delete().execute()异步方法,返回类型为Promise<DeleteResult>。其中DeleteResult是TypeORM内置的类型,结构如下:

{
  raw: any[], // 数据库返回的原始结果,格式随数据库类型不同而变化
  affected: number // 被删除的条目数量,未删除任何条目时为0,成功删除则对应实际条数
}

2. deleteMultiple方法的返回类型说明

你提供的deleteMultiple方法:

  • 它的返回类型确实是Promise类型,具体为Promise<DeleteResult>,这一点从方法声明Promise<DeleteResult>以及async关键字可以确认。
  • 在JavaScript/TypeScript中,所有用async修饰的方法,其返回值都会自动被包装为Promise,即便方法内部直接返回非Promise值,最终返回的也是包含该值的Promise实例。
  • 方法内部通过await获取execute()返回的DeleteResult后直接返回,完全符合声明的返回类型要求。

附你提供的方法代码:

async deleteMultiple (
    userId: number,
    items: number[],
  ): Promise<DeleteResult> {
    const result = await this._sampleRepository
      .createQueryBuilder()
      .delete()
      .from(SampleEntity)
      .where('id IN (:...id)', { id: items })
      .execute();

    if (result.affected) {
      await this._sampleChangesService.create(
        userId,
        SampleDataTypes.SAMPLE_CONSTANT,
        [changeActions.DELETE],
      );
    }

    return result;
  }

内容的提问来源于stack exchange,提问作者Narek Keshishyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:27:22