1. ホーム
  2. typescript

[解決済み] ts ES5/ES3の非同期関数やメソッドには、「Promise」コンストラクタが必要です。

2022-07-21 02:10:44

質問

TypeScriptプロジェクトでasync/awaitを使用していますが、以下のようなログが出ます。

[ts] ES5/ES3の非同期関数またはメソッドは、'Promise'コンストラクタを必要とします。 Promise' コンストラクタの宣言があることを確認するか、または 'ES2015' を --lib オプションに 'ES2015' を含める必要があります。

どうすれば解決できますか?

どのように解決するのですか?

エラーメッセージにあるように lib: es2015 をtsconfig.jsonに追加してください。

// tsconfig.json
{
  "compilerOptions": {
    "lib": [ "es2015" ]
  }
}

UPDATE: もしこれがうまくいかない場合は、これを試してみてください。

WebStormなどのJetBrainsのIDEは、デフォルトで独自の実装を使用しています。代わりにTypeScript言語サービスを使用するように設定してください。

Visual Studioの場合、プロジェクトファイルや tsconfig.json は相互に排他的です。プロジェクトを直接設定する必要があります。

https://github.com/Microsoft/TypeScript/issues/3983#issuecomment-123861491