Woodz
Lieutenant
- Registriert
- Apr. 2009
- Beiträge
- 699
Hallo.
Ich sitze jetzt seit einigen Stunden an einem Problem und bekomme es einfach nicht glöst.
Ich besitze ein Array in dem die URLs von Bildern enthalten sind. Diese Bilde sollen mit Hilfe von Promise vorgeladen werden.
Das Problem ist nur, dass nicht klar ist, ob die Bilder, deren URLs in dem Array liegen, auch wirklich vorhanden sind, weshlab geprüft werden soll, ob das Bild beim vorladen existiert und wenn nicht, dann soll ein default-Bild geladen werden:
Wenn ich das hier ausführe, liefert es mir keinen Fehler, aber das ganze Konstrukt lädt und lädt und lädt und es passiert gar nichts.
Beste Grüße,
Woodz
Ich sitze jetzt seit einigen Stunden an einem Problem und bekomme es einfach nicht glöst.
Ich besitze ein Array in dem die URLs von Bildern enthalten sind. Diese Bilde sollen mit Hilfe von Promise vorgeladen werden.
Das Problem ist nur, dass nicht klar ist, ob die Bilder, deren URLs in dem Array liegen, auch wirklich vorhanden sind, weshlab geprüft werden soll, ob das Bild beim vorladen existiert und wenn nicht, dann soll ein default-Bild geladen werden:
Code:
ImageURLArray = ["img/Bild1", "img/Bild2", ... ]
async function loadImages(ImageURLArray) {
const promiseArray = []; // Array für promises
const ImageArray = []; // Array für Images
for (let imageUrl of ImageURLArray) {
promiseArray.push(new Promise(resolve => {
const img = new Image();
img.onload = function() {
this.src = imageUrl;
resolve();
};
img.onerror = function() {
this.src = "img/Default.png";
resolve();
};
ImageArray.push(img);
}));
}
await Promise.all(promiseArray); // Warte bis alle Bilder geladen wurden:
return ImageArray;
};
let df = new Array();
df = loadImages(ImageURLArray);
Wenn ich das hier ausführe, liefert es mir keinen Fehler, aber das ganze Konstrukt lädt und lädt und lädt und es passiert gar nichts.
Beste Grüße,
Woodz