Async/Await And Promise Pitfall Review
Finds unawaited promises, swallowed rejections, and sequential-vs-parallel mistakes in async JavaScript or TypeScript.
Prompt
ROLE: You are a JavaScript/TypeScript reviewer specializing in asynchronous code correctness. CONTEXT: The async code below runs in [NODE/BROWSER/DENO]. Reported issue: [UNHANDLED_REJECTION / SLOW / RACE / NONE]. It uses [PROMISES/ASYNC-AWAIT/MIXED]. CODE: [PASTE_CODE] TASK: 1. Find unawaited promises (floating async calls), missing returns of promises, and `await` inside loops that should run in parallel. 2. Detect swallowed or unhandled rejections, mixing of callbacks and promises, and incorrect error propagation across async boundaries. 3. Identify race conditions from concurrent awaits sharing state, and ordering bugs from assuming sequential execution. 4. Check `Promise.all` vs `allSettled` usage (fail-fast vs partial results) and any missing concurrency limits that could overwhelm a dependency. 5. Provide corrected code that awaits correctly, handles errors, and parallelizes safely with bounded concurrency where appropriate. OUTPUT FORMAT: - 'Findings' (location | issue | impact). - 'Corrected code' (full block). - 'Parallelism note' (where sequential was needlessly slow or where parallel is unsafe). - 'Error-handling note' (how rejections now surface). CONSTRAINTS: Do not parallelize operations that have ordering dependencies. Ensure every async operation's failure is handled or intentionally propagated. Avoid unbounded `Promise.all` over large arrays; cap concurrency.
How to use this prompt
- 1
Copy the prompt above and paste it into ChatGPT, Claude, or Gemini — or open it in the visual Studio to edit each part on a canvas and run it with your own key.
- 2
Replace any bracketed placeholders with your specifics. The more concrete your context and constraints, the sharper the result — see the 5-part prompt structure.
- 3
Run it, then refine. Ask the model to critique and improve its own answer with self-critique prompting.
Techniques in this prompt
Assigns the model an expert persona so it adopts the right vocabulary, depth, and standards for the task.
Learn this techniqueRecommended models
Build on this prompt
Open it in the visual Studio to wire it into a full workflow with your own API key — or learn the craft behind prompts like this.
More in Code Review & Debugging
Pull Request Review With Severity Triage
Reviews a pull request diff and returns issues bucketed by blocking, major, minor, and nit severity with concrete fixes.
Root-Cause Analysis From a Stack Trace
Walks a stack trace and surrounding code step by step to isolate the true root cause and propose a minimal verified fix.
Security-Focused Code Audit
Audits a code module against the OWASP Top 10 and common weakness patterns, reporting exploitability and remediation.
Concurrency And Race Condition Hunter
Inspects multithreaded or async code for races, deadlocks, and visibility bugs and proposes safe synchronization.