Задать вопрос
@Emanue1

Дождаться загрузки изображения?

Я использую такой код:
var first = new Image();
var second = new Image();


Мне нужно после того как загрузятся эти две картинки запустить функцию.
Я знаю как выполнить эту задачу, когда одна картинка. Вот так:
var one = new Image();
one.onload = function() { 
   runFunction();   
}


Как сделать аналогично, но с двумя картинками??
  • Вопрос задан
  • 2556 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 2
Negwereth
@Negwereth
lvivcss.com.ua
Я б так как-то делал.
function loadImageAsync(url) {
  return new Promise((resolve, reject) => {
    const img = new Image();
    img.src = url;
    img.onload = resolve;
  });
}

Promise.all([
  loadImageAsync("img.jpg"),
  loadImageAsync("img.png")
])
  .then(images => {
    //do magic
  });
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
var a = new Image();
var b = new Image();
var loadedCounter = 0;
a.src = '//lorempixel.com/400/200/sports/'
b.src = '//lorempixel.com/400/200/cats/'
a.onload = b.onload = function() {
   loadedCounter++;
   if (loadedCounter == 2) {
     runFunction();
   }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы