It should be noted that Fetch does not support progress callbacks. See: https://github.com/github/fetch/issues/89.
The alternative is to use XMLHttpRequest https://developer.mozilla.org/en-US/docs/Web/Events/progress.
fetch('https://mywebsite.com/mydata.json').then(json => console.log(json));
fetch('/login', {
method: 'POST',
body: form,
mode: 'cors',
cache: 'default',
}).then(session => onLogin(session), failure => console.error(failure));
More details about fetch can be found at MDN