Promise executor cannot be an async function

Metadata

ID: typescript-best-practices/no-async-promise-executor

Language: TypeScript

Severity: Error

Category: Best Practices

Description

An async Promise executor won’t surface exceptions if it fails. If you are already awaiting results in the executor, the Promise itself might not be required; please review your implementation.

Non-Compliant Code Examples

new Promise(async function foo(resolve, reject) {})
new Promise(async (resolve, reject) => {})

Compliant Code Examples

new Promise((resolve, reject) => {})
new Promise((resolve, reject) => {}, async function unrelated() {})
new Foo(async (resolve, reject) => {})
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis