0

столкнулся с асинхронностью. Функция filebartocanvas выполняется очень медленно. Как дождаться её выполнения и только потом продолжить цикл? В дубликате ответ найти не смог.

function download() {
  for(let i=0;i<countFile;i++){
filebartocanvas(fileArray[i][0]); // - медленная функция 

console.log('Этот вывод быстрее чем функция выше'); // выполняется раньше, чем функция выше   

} }

function filebartocanvas(name){ for(let i=0;i<countFile;i++){ if(name == fileArray[i][0]){ nowFile = i; cx = fileArray[i][1]; ourfile = fileArray[i][2]; var commands = fileArray[i][3]; break; } } var reader = new FileReader(); reader.onload = function(){ loadImageURL(cx, reader.result, commands); }; reader.readAsDataURL(ourfile); infobar.textContent = 'File: ' + name; }

SwaD
  • 10,123
  • «В дубликате ответ найти не смог» — значит плохо искали – andreymal Feb 01 '23 at 20:15
  • можете дать подсказку, что конкретно в дубликате мне может помочь? – Mustafa Feb 01 '23 at 20:17
  • В самом заплюсованном ответе всё есть, просто берите любой понравившийся способ и применяйте https://ru.stackoverflow.com/a/554291 – andreymal Feb 01 '23 at 20:18

0 Answers0