Start here. This is the direct spoken answer to practice first.
Why this question matters
This is a practical async question because real APIs often call several independent dependencies. The useful answer improves latency without creating unbounded fan-out or hiding failure behavior.
If I have several independent async operations, I can start them first and then await them together with Task.WhenAll. That allows the waits to overlap instead of running one after another. I would only do this when the operations do not depend on each other. I still need to handle cancellation and exceptions because one failed task can make the combined await fail.