我有一个文件数组,我需要将文件格式化为json (此时的对象)和其他一些信息。以下是我尝试过的方法
const uploadData = Files.map((file) => {
const fr = new FileReader();
fr.readAsArrayBuffer(file);
fr.onload = (event) =>{
const fileData = event.target.result;
return {
query:{
documentName: file.name,
personId: personId,
serviceId: serviceID,
documentFile: fileData,
}
}
}
})
我想使用不可变的技术。我确实有一个猜测,为什么这不工作,但不知道如何解决它。我认为.map不会等待filereader读取,因此只返回未定义值的数组。我试着使用IIFE,但没有成功。
发布于 2016-06-29 21:46:05
const uploadData = [],
Files.forEach((file) => {
const fr = new FileReader();
fr.readAsArrayBuffer(file);
fr.onload = (event) =>{
const fileData = event.target.result;
uploadData.push(query:{
documentName: file.name,
personId: personId,
serviceId: serviceID,
documentFile: fileData,
})
}
})
由于返回发生在回调中,您应该使用local var并推送数据
https://stackoverflow.com/questions/38101377
复制相似问题