Typescript中knex的默认返回类型是什么?

Pradip shrestha

我有以下功能,我似乎无法弄清楚它的返回类型

export function save(contractType: ContractType, tx?: Knex.Transaction): any {
  return db
    .connection(tx)(CONTRACT_TYPE_TABLE)
    .insert(contractType)
    .catch(err => {
      throw new DatabaseError(en.GENERIC_ERROR, err);
    });
}
蓝魂

根据GitHub上可用的类型定义,我假设您正在使用QueryBuilder实例。

interface QueryBuilder extends QueryInterface, ChainableInterface 

这意味着您的Insert方法在实现QueryInterfaceChainableInterfaces接口的对象上被调用

InsertQueryInterface接口中定义,并返回QueryBuilder它已被调用。没有太多的信息。

查看,ChainableInterface我们注意到它扩展了BlueBird<any>

interface ChainableInterface extends Bluebird<any> 

Bluebird是许多JavaScript Promise库之一。您可以在这里了解更多信息

所以,总结到目前为止我们所知道的一切...

插入退货 Bluebird<any>

查看Bluebird库,它似乎Catch返回了已被调用的Promise对象(如Promise库所期望的那样)。这意味着您的方法实际上返回了一个Bluebird<any>Promise

至于实际类型...根据Knex文档中提供的示例,Insert应返回一个包含插入记录索引的数组。因此,假设您正在使用返回数字数组的Promise,应该足够安全。

结论:

您的方法正在返回一个QueryBuilder可用于构建更多查询的对象(这应该是的目的ChainableInterface)。应该也作为一个Bluebird<number[]>承诺,你可以使用,如果需要得到插入的记录标识符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

VBA中函数的默认返回类型是什么?

Typescript中类型的类型是什么

Rust中的默认整数类型是什么?

当TypeScript中可能有多个类型时,如何指示返回类型将是什么?

在 Typescript 中,返回 MUI TableContainer 的组件的返回类型应该是什么?

返回 AsyncFunction 的 Typescript 函数的适当返回类型是什么?

Flutter(Dart)中方法的默认返回类型是什么?

函数的返回类型中{}的目的是什么?

在TypeScript中,图像的类型是什么?

TypeScript类型中bivarianceHack的目的是什么?

TypeScript中的“类型”保留字是什么?

Typescript中的枚举类型是什么?

TypeScript 中的类型级扩展是什么?

Typescript中<svg>元素的类型是什么

React无状态组件的TypeScript返回类型是什么?

默认按钮类型是什么?

尾随返回类型中的占位符类型的目的是什么?

scala 中参数的默认“类型”是什么?是瓦尔吗?

rust中的默认Vec :: new()类型是什么?

xml 模式中属性的默认类型是什么?

D中循环索引变量的默认类型是什么?

Haskell中MonadPlus的默认类型评估是什么?

Javascript 中变量的默认数据类型是什么?

C ++中默认参数类型的限制是什么

docker 镜像中的默认平台类型是什么?

TypeScript:从函数中返回_.orderBy,要使用什么返回类型?

linq的返回类型是什么?

枚举的 TypeScript 类型是什么

FSharp Data的CsvProvider中“ Load”返回的类型是什么