You can use Promise.all or Promise.allSettled to wait for multiple requests to complete.
Learn how for both an input the 'multiple' attribute and with multiple input elements.
Create a download indicator by reading the body of the response.
Let Fetch's response.blob() method do the hard work!
Async/await allows a Fetch request to be handled using synchronous-looking syntax.
Reduce the amount of code needed to make HTTP requests using fetch.