我使用Papa Parse(http://papaparse.com/docs.html#remote-files)来解析远程CSV。我想将解析的结果存储在一个对象中以便以后使用。这是我的代码:
var dataset = {};
Papa.parse("http://path/to/some.csv", {
download: true,
dynamicTyping: true,
complete: function(results) {
dataset = results.data;
}
});
console.log(dataset);
当然,这会导致将空对象记录到控制台。任何使用数据集的尝试都不起作用,因为当然,数据集对象在代码执行时并未实际接收到其数据。有人可以帮我重构或解释我是如何处理的吗?
答案 0 :(得分:25)
是否有理由需要在函数外部使用数据集变量?确保填充数据集的最简单方法是操作“完成”数据集中的数据集。功能就在人们居住之后。
另一种方法是添加如下的回调:
function doStuff(data) {
//Data is usable here
console.log(data);
}
function parseData(url, callBack) {
Papa.parse(url, {
download: true,
dynamicTyping: true,
complete: function(results) {
callBack(results.data);
}
});
}
parseData("tests/sample.csv", doStuff);