首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用.map()通过FileReader读取多个文件

使用.map()通过FileReader读取多个文件
EN

Stack Overflow用户
提问于 2016-06-29 21:40:55
回答 1查看 502关注 0票数 0

我有一个文件数组,我需要将文件格式化为json (此时的对象)和其他一些信息。以下是我尝试过的方法

代码语言:javascript
运行
复制
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,但没有成功。

EN

回答 1

Stack Overflow用户

发布于 2016-06-29 21:46:05

代码语言:javascript
运行
复制
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并推送数据

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38101377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档