如何解决Vue.js - 等待使用“csv-parse”包从 CSV 中检索单个记录
在我的 Vue.js 应用程序中,我必须解析 CSV 文件并将每一行上传到后端。 我想异步执行,以便在上一条记录上传后读取下一条记录(承诺已解决)。
import parse from 'csv-parse';
importCsv() {
const parser = parse()
let index = 0;
parser.on('readable',async () => {
let record = parser.read()
if(record) {
await new Promise((resolve) => setTimeout(resolve,1000))
index++
console.log("record nr ",index)
}
})
parser.on('error',(err) => {
console.log(err)
})
parser.on('end',() => {
console.log("finish")
})
parser.write(this.fileContent)
parser.end()
}
this.fileContent
是以字符串形式保存在我的组件中的文件内容。
即使我将 await
语句放在 promise 之前并将 async
放在 readable
事件回调之前,它仍然无法正常工作。
目前,'finish'这个词最先出现,表示解析结束。然后,1秒后,一次显示9个控制台日志
我希望每 1 秒出现一次带有记录号的输出,然后在最后控制台日志“完成”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。