Why do people pretend promisses is someting different than event based programming? The fact that you daisy-chain your event handlers doesn't make it something other than syntactic shugar...
I don't understand how Fetch API is an improvement over XMLHTTPRequest. To me, this looks like a syntax update but I don't see it being better or worse than the previous installment.
Now that I think about it, I couldn't find any API related to download/upload progress events with the Fetch API. If that's the case, it means it's an actual regression to XMLHTTPRequest.
This article addresses the criticism of "merely syntax update"
You can access the stream as it's coming in using fetch - would that let you do progress? Seems like it would.
Only if fetch allows you to grab the http headers of the request, otherwise you have no way of identifying the size and at that point a simple circling gif is about the best you can do.