如何組織console.log(url)在each回圈后呼叫的代碼?
$("form").on('submit', (e) => {
e.preventDefault();
const form = $("form");
if (!form.checkValidity()) return;
const formData = new FormData(form[0]);
$(".file-upload-wrapper img.card-img").each(async function (i) {
const src = $(this).attr("src");
const fileName = $(this).attr("data-filename");
const response = await fetch(src);
const data = await response.blob();
formData.append("file", data, fileName);
console.log(src);
})
const url = $(form).attr("action");
console.log(url);
})
uj5u.com熱心網友回復:
await在for..of回圈內作業,而不是在像.forEach()和這樣的同步陣列方法內作業.map()。我懷疑它在 jQuery 中也不起作用$.each(),因為只有內部函式是async; 外部代碼保持同步,因此您將獲得最后的代碼console.log(url)。嘗試使用for...of回圈:
$("form").on('submit', async (e) => { // async here
e.preventDefault();
const form = $("form");
if (!form.checkValidity()) return;
const formData = new FormData(form[0]);
const $images = $(".file-upload-wrapper img.card-img")
for(let image of $images){
const $image = $(image);
const src = $image.attr("src");
const fileName = $image.attr("data-filename");
const response = await fetch(src);
const data = await response.blob();
formData.append("file", data, fileName);
console.log(src);
}
const url = $(form).attr("action");
console.log(url);
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/341032.html
標籤:javascript 查询
上一篇:我可以在數字中轉換NaN嗎?
