javascript - 定期更新 Highcharts 系列数据后浏览器崩溃

标签 javascript highcharts papaparse

我有一个带有实时图表的应用程序。每 10-15 秒就会有新数据可用,并且 AWS S3 URL 通过 Web 套接字发送到浏览器。

回调获取CSV文件的S3 url,并使用papaparse下载和处理数据。检查 Chrome 开发工具,JavaScript 对象计数持续增加,我假设这与浏览器崩溃有关。这是回调:

注意:initialData 是一个具有默认系列属性的数组,其中包括一个空的“数据”属性

var shotCallback = function (data) {
                if (hchart.series.length) {
                    for (var i = 0; i <= hchart.series.length - 1; i++) {
                        hchart.series[i].setData([]);
                    }
                    hchart.redraw();
                } else {
                    initialData.forEach(function (item, i) {
                        hchart.addSeries(angular.extend({}, initialData[i]), false);
                    });
                }
                Papa.parse(data.url, {
                    download: true,
                    fastMode: true,
                    worker: true,
                    dynamicTyping: true,
                    skipEmptyLines: true,
                    step: function (results) {
                        if ( ! firstRow) { // first row has column names
                            results.data[0].forEach(function (item, i) {
                                if (i > 0 && i <= initialData.length) {
                                    hchart.series[i - 1].addPoint(item, false);
                                }
                            })
                        }
                        firstRow = false;
                    },
                    complete: function () {
                        hchart.redraw();
                    }
                });
            };

这会加载数千个数据点,但性能相当不错。

我的问题是:当我清除以前的数据集时,我是否使用 .setData([]) 正确执行了操作,还是应该以不同的方式执行此操作?

浏览器继续崩溃,我不知道下一步该怎么做。

感谢任何帮助。

最佳答案

我正在运行 HighCharts 4.2.5 并升级到 5.0.10,它解决了问题。我遇到过一些帖子,指出版本 4 存在一些内存泄漏。

关于javascript - 定期更新 Highcharts 系列数据后浏览器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43698273/

相关文章:

javascript - Bootstrap 选项卡中的 Highcharts : non-visible chart breaks on window resize?

javascript - 导入exporting.js(导出highchart图表)时出现错误 'Cannot read property '文档“未定义”

javascript - 创建对象时的_colorIndex和_symbolIndex

javascript - 在 UI 上解析上传的 CSV 文件(约 8GB)时,在内存中存储非常大的 JSON 对象

javascript - PapaParse 生成的数组未填写 ng-repeat

javascript - 根据属性对数组进行功能排序,并将数组的位组合在一起

javascript - react : Creating a row per item in an array

papaparse - 如何将 Papa.parse 结果放入数组

javascript - 我需要无效点(.) 形式用户按键不起作用

javascript - 从输入 jQuery 中删除上传文件