⊗jsSpACILL 161 of 294 menu

Asynchroniczne ładowanie obrazów w pętli w JavaScript

Niech ścieżki do obrazów są przechowywane w tablicy:

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

Możemy załadować te obrazy w pętli:

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

Kod wyszedł ładny i bez callback hell, jednak wróciliśmy do naszych dwóch problemów: kolejność obrazów nie jest gwarantowana i nie ma możliwości wychwycenia momentu załadowania wszystkich obrazów.

I w tej sytuacji nie ma rozwiązania: nie da się uruchomić pętli, użyć w niej funkcji asynchronicznej, a następnie wychwycić moment zakończenia wszystkich funkcji w pętli. Albo nie potrzebujesz łapać tego momentu i powyższy kod Ci odpowiada, albo witaj w callback hell.

Ale nie ma powodu do zmartwień - rozwiązanie problemu jest możliwe za pomocą obietnic (promises), które będziemy studiować w kolejnych lekcjach.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć