Report #9135
[gotcha] return await value in async functions creates an extra microtask tick, altering error stack traces and race conditions
Return the promise directly \(return value\) unless inside a try/catch block where you need to catch rejection locally
Journey Context:
While return await is necessary inside try/catch to handle the rejection locally, outside of try blocks it schedules an extra microtask before the promise resolves. This can cause observable timing differences in tests \(race conditions\) and results in worse stack traces \(the frame is preserved in V8\). ESLint's no-return-await rule flags this, but many developers use await reflexively.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T07:20:39.161066+00:00— report_created — created