Ensure you don't use promises without `await`ing them first

Metadata

ID: typescript-best-practices/promise-await

Language: TypeScript

Severity: Warning

Category: Error Prone

Description

This rule is critical because it ensures promises are properly handled in JavaScript. Promises are objects that represent the eventual completion or failure of an asynchronous operation. Using a promise without awaiting it can lead to unexpected behavior, as the promise might not yet be resolved or rejected at the time it’s used.

To adhere to this rule, always use the await keyword when using a promise in a condition or loop. This ensures that the promise resolves or rejects before the condition or loop is evaluated.

Non-Compliant Code Examples

const foo = Promise.resolve('thing');

if (foo) {
}

const data = foo ? foo : bar;

while (foo) {
}

Compliant Code Examples

const foo = Promise.resolve('thing');

if (await foo) {
}

const data = (await foo) ? foo : bar;

while (await foo) {
}
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