Admito que todavía no entiendo por completo la sincronización/promesas, como probablemente pueda deducir de mi código, pero ¿cómo se supone que debo hacer que mi función espere a checkImageRatio en esta circunstancia?
async function checkImageRatio(id){ let myPromise = new Promise(function(resolve) { let test = false; $(`#image-${id}`).find('img').each(async function(){ let img = new Image(); img.src = this.src; await img.decode(); console.log((img.width/img.height)); if(Math.abs(1 - img.width/img.height) > 0.02){ $(`#image-${id}-main-image`).css('border', '1px red solid'); $(`#${id}-warning`).effect('shake', {distance: 8, times: 2}, 200); test = true; } }); resolve(test); }) } async function saveProduct(id){ var imageTest = await checkImageRatio(id).then(result=>{return result}); console.log(imageTest); console.log("here"); }¿Por qué la prueba de imagen no se resuelve aquí?