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

Как правильно обработать промис?

По завершеню поиска img должен отпраляться файл на печать, но файл приходит пустым, при первом клике. Выяснилось, что если подождать на последнем шаге промиса, то файл всегда генерируется успешно. Видимо какой-то промис неуспел зарезолвиться, а файл уже отправился.
Как правильно обработать промис?

$printContainer
        .find('img').each(function(){
          var promise = $.Deferred();
          imgPromises.push(promise);
          $(this).on('load', function(){promise.resolve()})
            .on('error', function(){promise.resolve()}); // anyway
        });

      var self = this;
      $.when.apply(null, imgPromises).then(function(){
        self._print($frame, $printContainer, frameWnd, frameDoc);
        self.toggleLoader(false);
      });
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
Чтобы обработать массив промисов нужно использовать Promise.all()
https://developer.mozilla.org/en-US/docs/Web/JavaS...

Не могу понять зачем там $.when
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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