我在加载多个图像时遇到了问题,这些图像是通过拖放操作完成的,当我放置6张图像时,银行中仅插入了1张图像,看来它们被覆盖了。我需要的是只能在第一个图像返回时才能插入第二个图像。
我试图用允诺,但没有成功。
async function getTodos() {
for (const [idx, url] of urls.entries()) {
const todo = await fetch(url);
console.log(`Received Todo ${idx+1}:`, todo);
}
console.log('Finished!');
}
这是我的代码 :
window.addEventListener("load", function () {
// GET THE DROP ZONE
var uploader = document.getElementById('uploader');
// STOP THE DEFAULT BROWSER ACTION FROM OPENING THE FILE
uploader.addEventListener("dragover", function (e) {
e.preventDefault();
e.stopPropagation();
});
// ADD OUR OWN UPLOAD ACTION
uploader.addEventListener("drop", function (e) {
e.preventDefault();
e.stopPropagation();
// RUN THROUGH THE DROPPED FILES + AJAX UPLOAD
let tamanho = e.dataTransfer.files.length;
let image_id_multplie = $('[name="ORDER[ARQUIVO1]"]').data('id'); // pegando esse número só para saber de qual veiculo estamos tratando
for (var i = 1; i < e.dataTransfer.files.length; i++) {
var xhr = new XMLHttpRequest(),
data = new FormData();
data.append('file-upload', e.dataTransfer.files[i]);
xhr.open('POST', root + 'vehicles/save_image_multiple/' + image_id_multplie + '/' + i, true);
xhr.onload = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
} else {
// ERROR - Do something
// console.error(xhr.statusText);
alert("Upload error!");
}
}
};
xhr.onerror = function (e) {
// ERROR - Do something
// console.error(xhr.statusText);
alert("Upload error!");
};
xhr.send(data);
}
});
});