Проблема с асинхронностью функции в JS
столкнулся с асинхронностью. Функция 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;
}
Источник: Stack Overflow на русском