微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何加载一次日志文件,然后在 JavaScript 中附加新日志?

如何解决如何加载一次日志文件,然后在 JavaScript 中附加新日志?

我有一个 JavaScript 函数,它加载一个 csv 文件并将其内容粘贴到一个 c3js 图形中,该函数每 10 秒重新加载一次实时数据,它看起来像这样:

function parseData(createGraph) {
    Papa.parse("../csv_files/traffic.csv",{
        download: true,complete: function(results) {
            createGraph(results.data);
        }
    });
}
function createGraph(data) {
    var Arrx = ['x'];
    var Arry = ['Frequency'];
    var dates = []; 
    for (var i = 0; i < data.length-1; i++) {
        if(moment(data[i][0],"DD-MM-YYYY",true).isValid()){
            dates.push(data[i][0]);
        }
    }
    var result = foo(dates);        
    for (var i = 0; i < result[0].length; i++){
        Arrx.push(result[0][i]);
        Arry.push(result[1][i]);
    }   
    var chart = c3.generate({
        size: {
            width: 1050
        },data: {
            x: 'x',xFormat: '%d-%m-%Y',columns: [Arrx,Arry]
        },axis: {
            x: {
                label: 'Date',type: 'timeseries',tick: {
                    format: '%d-%m-%Y'
                }
            },y: {
                label: 'Frequency'
            }
        },bindto: '#chart'
    });
}

问题是我必须在每次重新加载时加载文件,随着文件变大,它开始花费越来越多的时间,JavaScript 中是否有一种方法可以在开始时只加载一次,然后附加新日志实时到图表?

解决方法

在页面初始化时,如果 csv 数据可用,请检查本地/会话存储。如果不可用,则将 csv 数据加载/保存到本地/会话存储并继续下一步。

如果您需要覆盖本地存储检查,则将查询参数传递给 url。我想这对你有用。

这是localstorage的指南

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。