错误TS2794:应为1个参数,但得到0。您是否忘记在“Promise”的类型参数中包含“void”?

在我的项目中,我使用 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()来解决这个问题吗?

回答

resolve在您的情况下unknown,标准参数是,这意味着需要一个参数;

如果您不想resolve接受任何参数,您可以显式设置Promiseto的泛型类型void

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

  • @NullPointer undefined is still a value, thus requiring an argument. void is just nothing at all

以上是错误TS2794:应为1个参数,但得到0。您是否忘记在“Promise”的类型参数中包含“void”?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>