Knex&x2B;Typescript-部分不可分配给类型字符串

Knex&x2B;Typescript-部分不可分配给类型字符串,typescript,knex.js,Typescript,Knex.js,我有一个继承的代码库,上面有这样的查询助手方法: export async function deleteById(id: string): Promise<string> { const [deletedId] = await db().queryBuilder() .delete() .from('inventory_alert') .where({id}) .returning('id'); return deletedId; } 导

我有一个继承的代码库,上面有这样的查询助手方法:

export async function deleteById(id: string): Promise<string> {
  const [deletedId] = await db().queryBuilder()
    .delete()
    .from('inventory_alert')
    .where({id})
    .returning('id');

  return deletedId;
}
导出异步函数deleteById(id:string):Promise{ const[deletedId]=await db().queryBuilder() 1.删除() .from('库存警报') .where({id}) .返回(“id”); 返回已做的; } 编译Typescript时出现此错误的:
类型“Partial”不能分配给类型“string”。


该项目正在使用Knex,函数中的链接来自该库。我对Typescript和Knex都是新手,所以很有可能我遗漏了一些基本的东西。如何解决这些错误?

因为我知道来自方法的
类型包含两个参数,其中第一个是返回的记录

如果设置该参数,
tsc
很可能推断出正确的结果。以下是一个例子:

interface-TRecord{
id:字符串
// ...
}
导出异步函数deleteById(id:string):Promise{
const[deletedId]=await db().queryBuilder()
1.删除()
.from('inventory\u alert')//设置定义的记录类型
.where({id})
.返回(“id”);
返回已做的;
}

如果可以,您可以在使用
Partial
的地方添加代码的一部分吗?这个问题不适用——该方法返回字符串的承诺,代码中其他任何地方都不希望获得该部分。