我有以下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);
});
});
我想我知道解决方案,我两次调用“getBatchFileBuffer”。那是我的错