d3 csv解析器的进度值

时间:2013-01-22 06:24:15

标签: 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

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

1 个答案:

答案 0 :(得分:2)

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

然后,为了获得实际进度,您可以使用以下问题: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);
       }
    }
});