the tswhy logo: a question mark in a box

tswhy‽

A community effort to enrich TypeScript diagnostics.

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;
  }
}