Skip to content

useAwait

Diagnostic Category: lint/suspicious/useAwait

Since: v1.4.0 Sources:

Ensure async functions utilize await.

This rule reports async functions that lack an await expression. As async functions return a promise, the use of await is often necessary to capture the resolved value and handle the asynchronous operation appropriately. Without await, the function operates synchronously and might not leverage the advantages of async functions.

async function fetchData() {
// Missing `await` for the promise returned by `fetch`
return fetch('/data');
}
code-block.js:1:1 lint/suspicious/useAwait ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This async function lacks an await expression.

> 1 │ async function fetchData() {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 2 │ // Missing await for the promise returned by fetch
> 3 │ return fetch(‘/data’);
> 4 │ }
^
5 │

Remove this async modifier, or add an await expression in the function.

> 1 │ async function fetchData() {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 2 │ // Missing await for the promise returned by fetch
> 3 │ return fetch(‘/data’);
> 4 │ }
^
5 │

Async functions without await expressions may not need to be declared async.

async function fetchData() {
const response = await fetch('/data');
const data = await response.json();
return data;
}
// This rule does not warn about non-async functions
function processData() {
return compute(data);
}
// Nor does it warn about empty `async` functions
async function noop() { }