gpt4 book ai didi

javascript - 无法在 'complete' 函数之外获取 Papa Parse 的结果

转载 作者:行者123 更新时间:2023-11-30 21:16:11 33 4
gpt4 key购买 nike

我目前正在使用 Papa Parse 和 Angular 2 将 csv 列表加载到列表中,我希望能够将该列表传递给另一个组件。我能够读取 csv 数据并使用控制台日志打印它们,但我无法在“完整”函数之外处理解析数据的结果。我知道这是因为解析文件是一个异步过程,我必须使用回调函数。我试图用回调函数解决这个问题,但我仍然无法使用 Papa Parse 本身的“完整”函数之外的数据。

这是我尝试过的一个示例,但这里的 listOfLoads 在 convertloads 方法中未定义,在任何其他普通同步方法中均未定义。

export class AppComponent {


listOfLoads: Load[] = [];

constructor(){
}

importFile(fileInput: any, callBack) {
let listOfLoads: Load[] = [];
let file = fileInput.target.files[0];


let result = Papa.parse(fileInput.target.files[0], {
complete: function (results) {
callBack(results.data);
},
header: true,
delimiter: ";"
});
}

convertLoads(data) {
this.listOfLoads = deserialize<Load[]>(Load, data);
}

}

有没有办法将数据放在列表中并在其他组件中使用它?我到处寻找解决方案。

最佳答案

你可以将你的组件功能交给Papaparse。一旦 Papaparse 加载数据,它将触发您的功能。或者您可以创建一个可观察对象,当数据加载完成后,您可以在订阅 block 中做任何想做的事情。

我为您创建了一个可用的 plunkr。你可以看看这个。

https://plnkr.co/edit/WFVYEQnH35DeTsNBS456

关于javascript - 无法在 'complete' 函数之外获取 Papa Parse 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45660868/

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