如何从Fetch API获得进度?

8
我正在使用$.ajax,我可以这样做:
var xhr = new window.XMLHttpRequest();
//Upload progress
xhr.upload.addEventListener("progress", function(evt){
  if (evt.lengthComputable) {
    var percentComplete = evt.loaded / evt.total;
    //Do something with upload progress
    console.log(percentComplete);
  }
}, false);

但是,当我使用fetch API时,我应该怎么办?

var fData = new FormData();
fData.append("userfile",document.getElementById("file").files[0]);
fetch("/", {method:"POST",body:fData}).then(function(res){});
1个回答

6
目前不支持,这不是规范的一部分。规范仓库中有一个 问题,但已关闭。还有一些 问题 关于这个问题的讨论。
长话短说,除非你想尝试第二个链接中的一些 polyfill/解决方案,否则最好还是坚持使用 xhr
它没有得到支持,这也是 fetch 请求直到完成后才会出现在开发工具的网络选项卡中的原因。

谢谢你的回答 ^-^! - huiting Chen
3
最后一句话不再正确。 - maracuja-juice
1
@maracuja-juice,如果您想更新这个答案的当前情况,我很乐意批准编辑。 - ivarni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接