Sometimes, it is useful to perform a number of operations asynchronously, and then wait until they complete before moving on. For example, if an operation requires pulling information from multiple APIs and aggregating that information, it can be helpful to make those client requests asynchronously. This recipe will explore using sync.WaitGroup to orchestrate non-dependent tasks in parallel.