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

use*_*932 2 javascript axios

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

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

到目前为止,我只是可以在其中获取数据,但我需要某种方法来获取其背后的元数据(网络控制台中的信息,例如文件大小、到目前为止下载的数量)

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

request.then((response) => {


}
Run Code Online (Sandbox Code Playgroud)

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

Emm*_*uni 5

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

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

request.then((response) => {
    //
}
Run Code Online (Sandbox Code Playgroud)

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

注意:如果使用请求,请按照此处所述get使用onDownloadProgress