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га хуш келибсиз.

Аммо, хафа бўлиш шарт эмас - муаммонинг ечими промислар орқали имкон, уларни биз кейинги дарсларда ўрганамиз.