文件阅读器同步

时间:2018-09-07 00:06:14

标签: reactjs filereader

我有以下javascript代码正在尝试将文件上传到存储库,但我需要先将其作为缓冲区传递。问题是我的“ getBatchFileBuffer”函数以某种方式继续运行,而没有等待它解决,这使“ UploadFiles”只得到一个承诺而不是真正的对象。 TIA

const getBatchFileBuffer = file => {
  return new Promise((resolve, reject) => {
    var reader = new FileReader();
    reader.onloadend = function(e) {
      file[0].fileBuffer = e.target.result;
      resolve(file);
    };
    reader.readAsArrayBuffer(file[0].fileObject);
  });
};

getBatchFileBuffer(self.state.tempAttachment).then(function(
            tempAttachment
          ) {
            self.setState({ tempAttachment });
            UploadFiles(
              self.state.AppMainObject.ID,
              getBatchFileBuffer(self.state.tempAttachment)
            ).then(function(UploadFilesFileURL) {
              console.log(UploadFilesFileURL);
            });
          });

1 个答案:

答案 0 :(得分:0)

我想我知道解决方法,我两次调用了“ getBatchFileBuffer”。那是我的错误