TS2705
TypeScriptERRORNotableTypeHIGH confidence

An async function or method in ES5 requires the 'Promise' constructor. Make ...

Production Risk

Build will fail; resolve before shipping.

What this means

A type-checking error (TS2705): An async function or method in ES5 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option.. This diagnostic is emitted by the TypeScript compiler when an async function or method in ES5 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option..

Why it happens
  1. 1await used outside an async function, or async/await return type mismatch
How to reproduce

TypeScript compiler reports TS2705 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS2705
// An async function or method in ES5 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option.

expected output

error TS2705: An async function or method in ES5 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option.

Fix

Address the TypeScript diagnostic

WHEN When this error is reported by the compiler

Address the TypeScript diagnostic
// Run the TypeScript compiler for details:
npx tsc --noEmit
// Use the TypeScript playground to test your code:
// https://www.typescriptlang.org/play

Why this works

Review the full error message and location; the TypeScript handbook provides guidance on each error category.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All TypeScript errors