Показать сообщение отдельно
  #8 (permalink)  
Старый 09.04.2019, 02:45
Аватар для finlolo
Аспирант
Отправить личное сообщение для finlolo Посмотреть профиль Найти все сообщения от finlolo
 
Регистрация: 12.08.2018
Сообщений: 61

Malleys,
Все работает, круто. Спасибо.
Только у меня теперь есть небольшая проблемка:

У меня цикл перебирает все формы с такими картинками, если быть точным то цикл for. Трабл в том, что он переходит на следующий шаг не дожидаясь окончания текущей итерации, в итоге пока добавляется файл происходит киш-миш.

Вот так у меня выглядит примерно структурно код:

for (i = 0; i < airforms.length ; i++){
   id = airforms[i].id.replace("form_", ""); //на этом моменте итерация перескакивает на другую
   domtoimage.toBlob(document.getElementById("list_" + id))
   .then(function(blob) {
      return new Promise(function(resolve) {
      var reader = new FileReader();
      reader.readAsDataURL(blob);
      reader.onloadend = function() {
         resolve(reader.result); // dataURL строка
      }
   });
  }).then(function(dataURL) {
   //отправляю файл 
   //записываю данные с формы в массив объектов
   //передаю массиву объектов ссылку на файл
   //получается объект с данными формы и уже загруженным файлом, в этот момент уже фиг знает какая итерация идет (конечно, в зависимости от количества форм)
});

}

//передаю массив объектов на отправку сообщения. в итоге получается, что отправка делается, а массив пуст, так как еще не закончались загружаться файлы.
Ответить с цитированием