gpt4 book ai didi

javascript - Papa 将 : copy an array from . csv 解析为我的代码

转载 作者:行者123 更新时间:2023-11-27 23:14:48 24 4
gpt4 key购买 nike

我正在使用 papa parse 读取一个大的 .csv 并将其内容复制到我的代码中的数组中。如果我执行下面的代码,控制台首先显示第二个日志,作为一个空数组。我本来希望通过调用函数 parseMe 来填充 .csv 的内容,然后再再次记录它?

function parseMe(url, callBack){
Papa.parse(url, {
complete: function(results) {
callBack(results.data[0]);
}
});
}

function doStuff(data){
newArray=data;
console.log(newArray); //log no. 1
}

var newArray=[];
parseMe(document.getElementById("file").files[0], doStuff);
console.log(newArray); //log no. 2

最佳答案

您的“日志2”显示空结果数组的原因是该行代码运行时该数组尚未被解析。如果您在日志输出中添加一些标识文本,您将看到如下内容:

(Log no.2) After parse call but before complete fired, newArray: []

(Log no.1) In OnComplete callback, Array is: [ populated_array ]

即执行顺序如下:

  1. Papa parse 开始解析输入文件
  2. 日志编号2 个输出,显示空结果数组
  3. Papa parse 完成输入文件的解析
  4. 完成回调触发
  5. 日志编号1 个输出,显示填充的结果数组

工作笔:http://codepen.io/sensei/pen/mPPKBP/

这里的关键概念是异步执行;我建议阅读 JavaScript Promises( blogpostMDN reference )以获得现代 API,它将帮助您理解这一关键计算概念的 Web 应用程序实现。

关于javascript - Papa 将 : copy an array from . csv 解析为我的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35896957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com