如何从Fetch API获得进展?

时间:2016-06-14 08:18:57

标签: javascript progress fetch-api

我使用$.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 个答案:

答案 0 :(得分:5)

截至目前,你无法做到。它还不是规范的一部分。在规格的回购中有一个issue,但它已关闭。关于它,还有关于issue的讨论。

长话短说,除非您想在第二期Iinked中尝试一些polyfill / workarounds,否则最好只是坚持使用xhr

它不受支持,这也是fetch请求不会出现在devtools网络标签中的原因,直到他们已经完成。