I am wondering about the same thing when I got stuck on the same problem recently.
As far as I have researched. Without a timeout, if one file takes too long to download (due to network issues, slow server response, or file size), then in the meantime new download cascades over the previous one because files are downloading on a single thread because of JS nature which only makes the last file to get downloaded.
and when we add a timeout in between downloading the files, then Javascript consider that as a separate task.