An async function always wraps the return value in a Promise. Using return await is not required and comes at an extra performance cost. However, you might wish to keep it as it preserves the function call in the stack trace in case an error is thrown asynchronously.

Noncompliant Code Example

async function foo() {
  // ...
}

async function bar() {
  // ...
  return await foo(); // Noncompliant
}

Compliant Solution

async function foo() {
  // ...
}

async function bar() {
  // ...
  return foo();
}