✅ Promise.allSettled() Implementation
Category: js / promises
Difficulty: medium
Promise.allSettled() returns a promise that resolves after all input promises have settled (either fulfilled or rejected). Unlike Promise.all(), it never rejects—it always returns an array of result objects describing each promise's outcome. 🧠 Understanding Promise.allSettled Atom 1: Purpose Promise.allSettled returns a promise that: ✅ Resolves when all input promises settle (either resolve or reject) ❌ Never rejects — result always contains an array of outcomes Atom 2: Result Format Each result is an object with shape: If resolved: { status: "fulfilled", value: result } If rejected: { status: "rejected", reason: error } Atom 3: Normalize Inputs Use Promise.resolve(...) to handle non-promise inputs. Atom 4: Track Completion Maintain results[] Track how many have settled Resolve once all have settled Atom 5: Edge Case Empty input → resolve to [] immediately ✅ Implementation: promiseAllSettled [code example] 🧪 Example: [code example] <!-- quiz-start --> Q1: What is the key difference between Promise.all and Promise.allSettled? [ ] Promise.allSettled runs promises sequentially [ ] Promise.allSettled is faster than Promise.all [x] Promise.allSettled never rejects and returns all outcomes regardless of failures [ ] Promise.allSettled only works with async/await syntax...