Ho #perso una buona quantità di quarti d'ora (e #maremma...) oggi a cercare di capire come straca far funzionare questo altrimenti orribile #codice dentro un ciclo (che deve prima terminare tutto, o il programma non ha i dati giusti) in #JavaScript... 😵️
const reader = new FileReader();
reader.onload = () => {
const img = document.createElement('img');
img.onload = () => {
// ... un sacco di stronzate che non centrano
}
img.src = reader.result;
}
reader.readAsDataURL(file);
Ho cercato #online varie soluzioni, per un motivo o per un altro non le capivo però (#skillissue skillissue skillissue), e ho perso la #pazienza a provare e riprovare, finché non ho chiesto alla divinità dell'autocompletamento #ChatGPT. A 'sto giro, è stato più utile di mezzo #Stackoverflow. 🙏️
Unendo il suo aiuto, + un (1) consiglio di utenti umani su quei #forum brutti, è uscita una roba che funziona e non fa venire il mal di testa a leggere...
const img = new Image();
img.src = await readFileAsync(file);
await img.decode();
// ... le stesse stronzate di prima, ma meglio
function readFileAsync(file) {
return new Promise((resolve) => {
const reader = new FileReader();
reader.onload = (event) => {
resolve(event.target.result);
};
reader.readAsDataURL(file);
});
}