javascript - d3 csv 解析器处理进度值

标签 javascript csv load d3.js progress

所以我尝试使用 d3 在 javascript 中加载 csv 文件,并尝试使用进度条来显示加载时取得的进度。这就是我所拥有的:

d3.csv("my.csv",function(data){
        //do stuff with data
    }).on("progress", function(p){
        //update progress bar
        console.log(d3.event.loaded);
    });

这就是它输出的全部内容:

13248560

这是文件中的总字节数。我想知道如何获取它已加载的值,以便我的进度条可以正确加载。有人知道如何完成这个任务吗?

最佳答案

我认为事件d3.event.loaded返回总大小是正常的。您是否尝试过以下操作来从 "progress" 函数中的变量 p 获取进度?

然后要获取实际进度,您可以使用以下问题:How to get progress from XMLHttpRequest

最终结果应该如下所示:

d3.csv("my.csv",function(data){
        //do stuff with data
    }).on("progress", function(event){
        //update progress bar
        if (d3.event.lengthComputable) {
          var percentComplete = Math.round(d3.event.loaded * 100 / d3.event.total);
          console.log(percentComplete);
       }
    }
});

关于javascript - d3 csv 解析器处理进度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14452747/

相关文章:

javascript - Highcharts 如何根据点数创建图例

javascript - Javascript 中 __proto__ 和 Prototype 的混淆

arrays - 使用 np.savetxt 保存包含字符串和 float 的结构化 numpy 数组

java - 用 Java 序列化游戏?

linux - 节点上的多少负载太多了?

javascript - 数据绑定(bind)在带有输入标签的 AngularJS 中不起作用

javascript - 堆叠两个 div,每个 div 都有一个 Canvas

c# - 使用 C# 将未知大小的 CSV 转换为自定义对象

linux - 根据unix中的两列对csv文件进行排序

javascript - 拆分脚本/CSS 是否会产生更快的执行/绘制时间