Use Promise.all: const [a, b] = await Promise.all([fetchA(), fetchB()]). Start all promises at once, then await all. This is much faster than sequential await for independent operations.
How do you avoid sequential await for independent operations in JavaScript?
More FAQs in Common async/await Mistakes in JavaScript
Sequential await for independent operations (use Promise.all), using await in forEach (use for...of), forgetting try/catch (unhandled rejections), not awaiting (fire and forget), top-level await in old environments, and returning Promise.resolve from an async function (unnecessary).
Because forEach does not await the async callback. The loop finishes immediately, and the async callbacks run in parallel in the background. Use for...of for sequential await or Promise.all with map for parallel.
No, it works. await on a non-promise returns the value itself. But it does add a microtask delay, which is unnecessary. Avoid await on non-promises unless you need the microtask delay.
Still have questions?
Browse all our FAQs or reach out to our support team
Want to upskill yourself?
Your learning library
Small steps. Big possibilities.
Find your next course. Build something great.