PapaParse Chunk加载所有数据

时间:2017-11-14 16:41:18

标签: javascript d3.js large-data papaparse

我很难搞清楚这一点。我使用Papaparse解析一个巨大的CSV文件来获取数据集并插入d3和交叉过滤。首先,我使用node.js来运行ejs的服务器(我没有使用任何嵌入式js)。当我运行我的应用程序时,它就像一个魅力。我在块函数中看到它的结果基于10 mb默认值,我得到了数据集。那么我需要将我的代码转移到eclipse并将其转换为jsp或html并运行我的websphere服务器而不是Node.js.当我运行我的应用程序时,我注意到这个块正在接收所有我的数据集,而不是每个数据集10MB,这就是我的IE11浏览器崩溃了。这是一个错误吗?我试图将Papa.LocalChunkSize声明为等量的MB,但它仍然加载我的所有数据集。我需要帮助......

以下是我的代码。

    var chunk1Finish = false;
var chunkMainData1Finish = false;
var finishLoadingMainData = false;

var mdata = [];

     Papa.parse("data2/week201751custinqfinal_v4.csv", {
     download: true,
     header: true,
     skipEmptyLines: true,
     complete: function() {
        console.log("complete!! the MAIN data length is: " + mdata.length);
        finishLoadingMainData = true;
        buildPage(finishLoadingMainData, finishLoadingTrendData);
     },
    chunk: function(results) {
        //mdata.push(results.data[0]);
        if(chunkMainData1Finish) {
            console.log("chunkMainData1Finish is true");
            Array.prototype.push.apply(mdata, results.data);
        } else {
            console.log("chunkMainData1Finish is false");
            mdata = results.data;
            chunkMainData1Finish = true;
        }
    },
    error: function(error) {
        console.log("error!!!! " + error);
    }
});

1 个答案:

答案 0 :(得分:0)

Papa.LocalChunkSize也不适合我。我在chunkSize函数中添加了Papa.parse参数(只需将其添加到代码中的chunk:之前)即可。

示例:chunk: 1024 * 1024 * 1,是1MB的分块。