Use Promise.all() to wait for multiple promises
const promises = [fetch(url1), fetch(url2), fetch(url3)];
const results = await Promise.all(promises);
console.log(results); // Array of all responsesasync function fetchMultiple() {
try {
const [users, posts, comments] = await Promise.all([
fetch('https://jsonplaceholder.typicode.com/users/1'),
fetch('https://jsonplaceholder.typicode.com/posts/1'),
fetch('https://jsonplaceholder.typicode.com/comments/1')
]);
const userData = await users.json();
const postData = await posts.json();
const commentData = await comments.json();
return { userData, postData, commentData };
} catch (error) {
console.error('One or more requests failed:', error);
}
}const results = await Promise.allSettled(promises);
// Returns all results, even if some fail
// [{status: 'fulfilled', value: ...}, {status: 'rejected', reason: ...}]const fastest = await Promise.race(promises);
// Returns first promise to completeAvoid sequential awaits for independent operations
// DON'T DO THIS (slower)
const user = await fetch(url1);
const posts = await fetch(url2);
const comments = await fetch(url3);✓ Works in all modern browsers (ES2015+)