【问题标题】:How to load a log file once and then append new logs in JavaScript?如何加载一次日志文件,然后在 JavaScript 中附加新日志?
【发布时间】:2021-06-26 18:53:14
【问题描述】:

我有一个 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 中有没有办法在开始时只加载一次,然后追加新日志实时到图表?

【问题讨论】:

    标签: javascript c3.js


    【解决方案1】:

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

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

    这是localstorage的指南

    【讨论】:

      猜你喜欢
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      • 2019-01-03
      • 2019-10-01
      相关资源
      最近更新 更多