Start here. This is the direct spoken answer to practice first.
Overview
The decision starts with what counts as success. None of these combinators automatically cancels the operations that no longer matter.
I use Promise.all when every result is required and one rejection should fail the combined promise. allSettled is for collecting every outcome. race settles with the first promise to settle, whether fulfilled or rejected. any fulfills with the first success and rejects only if every input rejects. The choice follows the feature's success and failure rule.