TS1308
TypeScriptERRORNotableSyntaxHIGH confidence
'await' expressions are only allowed within async functions and at the top le...
Production Risk
Build will fail; resolve before shipping.
What this means
A syntax error (TS1308): 'await' expressions are only allowed within async functions and at the top levels of modules.. This diagnostic is emitted by the TypeScript compiler when 'await' expressions are only allowed within async functions and at the top levels of modules..
Why it happens
- 1await used outside an async function, or async/await return type mismatch
How to reproduce
TypeScript compiler reports TS1308 during type checking.
trigger — this will error
trigger — this will error
// Triggers TS1308 // 'await' expressions are only allowed within async functions and at the top levels of modules.
expected output
error TS1308: 'await' expressions are only allowed within async functions and at the top levels of modules.
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