【发布时间】:2020-05-13 16:38:41
【问题描述】:
我有下面的方法将图像转换为base64字符串
const toBase64 = file => new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
然后我决定像下面这样使用这个功能:
let base_strings = files.map(async file => {
let image = await toBase64(file);
console.dir(image); //this console base string
return image;
});
但是当我尝试访问我的 base_string 数组时,我仍然得到如下承诺:
我不确定我做错了什么,我需要能够在数组中获取我的 base64 字符串。
【问题讨论】:
-
async在函数前面是语法糖,用于“将函数结果包装成一个承诺并返回它”。所以你需要await你数组的所有成员。 (我的反应不够好,无法给出完整的答案。)
标签: javascript reactjs async-await