Why should you not mix callbacks and promises in JavaScript?
Because it creates confusing code and can lead to callback hell inside a promise chain. Promisify the callback API first, then use it in the promise chain. This keeps the code consistent.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in Promise Anti-Patterns to Avoid in JavaScript
Wrapping a promise in new Promise unnecessarily. If you already have a promise (from fetch, for example), just return it or chain .then. Wrapping it in new Promise and manually calling resolve/reject is redundant and error-prone.
Because it defeats the purpose of promises (creating mini callback hell). Instead of nesting, chain flatly. Or use async/await, which is the cleanest way to sequence async operations.
Because it is slow. If operations are independent, run them in parallel with Promise.all: const [a, b] = await Promise.all([fetchA(), fetchB()]). Sequential await is only correct when operations depend on each other.
Still have questions?
Browse all our FAQs or reach out to our support team
