Why this matters
One failure should not mask other successes.
For many independent tasks, prefer Promise.allSettled and handle per-item results.
One failure should not mask other successes.
Side-by-side examples engineers can pattern-match during review.
await Promise.all(tasks.map(t=>t())) // one error cancels everythingconst results = await Promise.allSettled(tasks.map(t=>t())); const failed = results.filter(r=>r.status==='rejected');await Promise.all([...])await Promise.allSettled([...])From the same buckets as this rule.
Check if loops use equality operators (== or !=) in termination conditions. These can lead to infinite loops if the condition is never met exactly. Instead, use relational operators like < or > for safer loop termination.