Асинхроно учитавање слика у петљи у JavaScript

Нека путање до слика буду сачуване у низу:

javascriptlet arr = ['img1.png', 'img2.png', 'img3.png'];

Можемо да учитамо ове слике у петљи:

javascriptfor (let path of arr) {
  loadImage(path, function(image, err) {
    document.body.append(image);
  });
}

Код је испао леп и без callback hell-а, али, вратили смо се на два наша проблема: редослед слика није загарантован и немогуће је ухватити тренутак када су све слике учитане.

И нема решења у овој ситуацији: немогуће је покренути петљу, користити асинхрону функцију унутар ње, па онда ухватити тренутак завршетка свих функција из петље. Или вам не треба да ухватите тај тренутак и горе наведени код ће вам одговарати или добродошли у callback hell.

Али, не треба се устручавати - решење проблема је могуће преко промиса, које ћемо учити у наредним лекцијама.