【问题标题】:d3 csv parser on progress valued3 csv解析器进度值
【发布时间】:2013-01-22 06:24:14
【问题描述】:

所以我尝试使用 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

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

【问题讨论】:

  • 如果您的浏览器缓存了 CSV 文件,那么通常您只会收到一个进度事件,因为文件从内存中加载得非常快。如果您想测试代码以显示加载进度,您可能需要使用缓存中断查询字符串进行测试(例如,“?” + Math.random())。但请记住在完成测试后将其删除!

标签: javascript csv load d3.js progress


【解决方案1】:

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

那么要想得到实际的进度,可以使用下面的问题:How to get progress from XMLHttpRequest

最终的结果应该是这样的:

d3.csv(“我的.csv”,函数(数据){ //用数据做事 }).on("进度", function(event){ //更新进度条 如果(d3.event.lengthComputable){ var percentComplete = Math.round(d3.event.loaded * 100 / d3.event.total); console.log(percentComplete); } } });

【讨论】:

    猜你喜欢
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 2018-02-21
    • 2014-04-30
    相关资源
    最近更新 更多