在我的项目中,我使用了Typescript@4.0.3,它运行良好,但现在我将其版本更新为最新的Typescript@4.1.3,这给了我很多错误.我在文件中找不到任何东西,也不知道如何解决这个问题.

这是我的代码:

dbPool.query(`DELETE FROM table WHERE Id='${Id}'`, () => resolve())

另一个是:

return new Promise((resolve, reject) => {
  this.redis.SET(addr, resp, () => resolve())
})

这两个都给了我错误:

错误TS2794:应为1个参数,但得到0个.你忘了在Promise的类型参数中包含void吗?

你知道我应该通过什么来解决这个问题吗??

推荐答案

在你的例子中,resolve的标准参数是unknown,这意味着需要一个参数;

如果不想让resolve接受任何参数,可以显式地将泛型类型Promise设置为void

return new Promise<void>((resolve, reject) => {
  this.red.SET(addr, resp, () => resolve())
})

Typescript相关问答推荐

如果存在一处房产,请确保存在其他房产

创建一个通用上下文,允许正确推断其中的子项

即使子网是公共的,AWS CDK EventBridge ECS任务也无法分配公共IP地址

在这种情况下,如何获得类型安全函数的返回值?

在将对象从一个对象转换成另一个对象时,可以缩小对象的键吗?

TypeScript Page Routing在单击时不呈现子页面(React Router v6)

React typescribe Jest调用函数

扩展函数签名中的参数类型,而不使用泛型

返回具有递归属性的泛型类型的泛型函数

是否可以针对联合类型验证类型属性名称?

Select 下拉菜单的占位符不起作用

为什么ESLint会抱怨函数调用返回的隐式`any`?

是否将自动导入样式从`~/目录/文件`改为`@/目录/文件`?

类型推断对React.ForwardRef()的引用参数无效

我不明白使用打字脚本在模板中展开参考

为什么我的函数arg得到类型为Never?

如何键入并类型的函数&S各属性

扩展对象的此内容(&Q;)

如何根据Typescript 中带有泛型的对象嵌套键数组获取数组或对象的正确类型?

使用本机 Promise 覆盖 WinJS Promise 作为 Chrome 扩展内容脚本?