the tswhy logo: a question mark in a box

tswhy‽

A community effort to enrich TypeScript diagnostics.

Editing TS1064:

All diagnostics and fixes are authored in markdown. Propose any changes by editing the markdown. Additional fixes can be added. A preview of the rendered diagnostic will update when changes are made.

Once all proposed changes are made, the Propose button will submit the information and confirm raising the PR.

TS1064

The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?

Async functions which try to declare non-promise return type will throw this error, because async functions and methods always return a promise:

class A {
  async method(): number {
    return 1;
  }
}

Fix: Correct the return type

Correct the return type:

class A {
  async method(): Promise<number> {
    return 1;
  }
}