Javascript 如何测量从axios调用加载json文件的进度?

Javascript 如何测量从axios调用加载json文件的进度?,javascript,axios,Javascript,Axios,为了衡量进度,我在调用axios时考虑做以下两件事: 调用json文件时获取文件大小 从“网络”选项卡中获取文件大小以外下载的文件的百分比 到目前为止,我只是在这里可以获取数据,但我需要一些方法来获取其背后的元数据(网络控制台中的信息,如文件大小、到目前为止下载的数量) 或者有其他方法来衡量进度吗?您只需要使用onUploadProgress函数传入一个配置对象: let progress = 0; const request = axios.get('/data', { onUploa

为了衡量进度,我在调用axios时考虑做以下两件事:

  • 调用json文件时获取文件大小
  • 从“网络”选项卡中获取文件大小以外下载的文件的百分比
  • 到目前为止,我只是在这里可以获取数据,但我需要一些方法来获取其背后的元数据(网络控制台中的信息,如文件大小、到目前为止下载的数量)


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

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

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

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

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

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

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

    请注意,您的代码无法工作。“onUploadProgress”适用于post/upload请求而不是get请求。我想你的意思是“onDownloadProgress”哦,好吧,那么更改get-to-post:d请注意,你的代码将无法工作。“onUploadProgress”适用于post/upload请求而不是get请求。我想你的意思是“onDownloadProgress”哦,好吧,那么把get改成post:D