【问题标题】:How to measure progress of loading json file from axios call?如何测量从 axios 调用加载 json 文件的进度?
【发布时间】:2017-03-15 18:24:48
【问题描述】:

为了衡量进度,我正在考虑在进行axios调用的同时做这两件事:

  1. 在调用 json 文件时获取文件大小
  2. 从“网络”选项卡中获取下载的文件超出文件大小的百分比

到目前为止,我只有这个可以获取数据的地方,但我需要一些方法来获取它背后的元数据(网络控制台中的信息,如文件大小、到目前为止下载的数量)

const request = axios.get('/data');

request.then((response) => {


}

或者还有其他衡量进度的方法吗?

【问题讨论】:

    标签: javascript axios


    【解决方案1】:

    您只需要使用 onUploadProgress 函数传入一个配置对象:

    let progress = 0;
    const request = axios.post('/data', {
        onUploadProgress: function(event) {
           progress = Math.round((event.loaded * 100) / event.total);
        }
    });
    
    request.then((response) => {
        //
    }
    

    然后根据需要使用进度变量。

    注意:如果使用get 请求,请使用onDownloadProgress,如提到的here

    【讨论】:

    • 请注意,您的代码将不起作用。 “onUploadProgress”适用于发布/上传请求而不是获取请求。我认为您的意思是“onDownloadProgress”
    • 哦,好的,然后将 get 更改为 post :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多