error TS2794: Expected 1 arguments, but got 0. Did you forget to include 'void' in your type argument to 'Promise'?

Null Pointer picture Null Pointer · Dec 18, 2020 · Viewed 9.3k times · Source

In my project, I was using [email protected] and it was working fine, but now I updated its version to latest [email protected] and it is giving me a lot of errors. I am unable to find anything in documentations and not getting any Idea how to resolve this issue.

here is my code:

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

Another one is:

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

These both are giving me error:

error TS2794: Expected 1 arguments, but got 0. Did you forget to include 'void' in your type argument to 'Promise'?

Any idea what should I pass in resolve() to resolve this issue??

Answer

Mike S. picture Mike S. · Dec 18, 2020

The standard argument for resolve in your case is unknown, which means that an argument is required;

If you don't want resolve to be taking any arguments you can explicitly set the generic type of Promise to void;

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