У меня есть функция с помощью промиса, которая каждые 2 секунды меняет картинки
const createImage = imgPath => {
return new Promise((resolve, reject) => {
const img = document.createElement('img');
img.src = imgPath;
img.addEventListener('load', () => {
images.append(img);
resolve(img);
});
img.addEventListener('error', () => {
reject('Image not found');
});
});
};
let currentIng;
createImage('img/img-1.jpg')
.then(img => {
currentIng = img;
return wait(2);
})
.then(() => {
currentIng.style.display = 'none';
return createImage('img/img-2.jpg');
})
.then(img => {
currentIng = img;
return wait(2);
})
.then(() => {
currentIng.style.display = 'none';
return createImage('img/img-3.jpg');
})
.catch(err => console.error(err));
Я пытаюсь переписать эту функцию с помощью async await, но к сожалениюп почему то у меня на старте отображается третья картинка и все
const createImage = imgPath => {
return new Promise((resolve, reject) => {
const img = document.createElement('img');
img.src = imgPath;
img.addEventListener('load', () => {
images.append(img);
resolve(img);
});
img.addEventListener('error', () => {
reject('Image not found');
});
});
};
let currentIng;
const createImageAsync = async () => {
try {
const img = await createImage('img/img-1.jpg');
currentIng = img;
wait(2);
currentIng.style.display = 'none';
const img2 = await createImage('img/img-2.jpg');
currentIng = img2;
wait(2);
currentIng.style.display = 'none';
return await createImage('img/img-3.jpg');
} catch (err) {
console.error(err);
}
};
createImageAsync()
что тут не так делаю?