【问题标题】:How to get progress from Fetch API? [duplicate]如何从 Fetch API 获取进度? [复制]
【发布时间】:2016-10-14 20:47:17
【问题描述】:

我正在使用$.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){});

【问题讨论】:

    标签: javascript progress fetch-api


    【解决方案1】:

    到目前为止,您还不能。它还不是规范的一部分。在规范的回购中有一个issue,但它已关闭。关于这个issue也有一些讨论。

    长话短说,除非你想尝试第二期 Iinked 中的一些 polyfills/变通方法,否则你现在最好还是坚持使用 xhr

    它只是不受支持,这也是 fetch 请求在完成之前不会显示在 devtools 的网络选项卡中的原因。

    【讨论】:

    • 感谢您的回答^-^!
    • 最后一句话不再正确。
    • @maracuja-juice 如果您想根据当前情况对其进行更新,我很乐意批准对此答案的编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 2017-09-07
    • 2021-01-21
    • 2020-10-29
    • 2021-05-04
    相关资源
    最近更新 更多