【发布时间】:2020-11-21 22:39:32
【问题描述】:
在这里,我将 blob urls 存在于名为 imgs[] 的数组中转换为 base64 data,然后将 base 64 数据推送到名为 imgsPost[] 的数组中。
将所有 base64 数据推入数组后,我想在函数中使用该数组。
let imgsPost = [];
let imgs = ["bloburl1", "bloburl2", "bloburl3", "bloburl4"];
for (let i = 0; i < imgs.length; i++) {
fetch(imgs[i].src)
.then(res => {
if (!res.ok) {
throw Error(res.statusText);
}
return res.blob();
})
.then(data => {
let tempBlob = data;
let reader = new FileReader();
reader.readAsDataURL(tempBlob);
reader.onloadend = function () {
let base64data = reader.result;
imgsPost.push(base64data);
}
})
.catch(error => {
console.error('Error:', error);
})
}
//After all execution
foo($imgsPost);
现在该函数首先使用一个空数组执行。所有其他代码都在运行。
【问题讨论】:
标签: javascript image asynchronous promise fetch