⊗jsSpACInr 155 of 294 menu

Asynchrónny kód s callback funkciami v JavaScripte

Majme nejakú asynchrónnu funkciu:

function make() { setTimeout(function() { console.log('1'); }, 3000); }

Predpokladajme, že túto funkciu používame nasledovne:

make(); console.log('2'); // vykoná sa prvým

Predpokladajme, že chceme dosiahnuť, aby sa druhý výstup do konzoly vykonal až po tom, ako sa dokončí asynchrónna operácia vo vnútri funkcie. Jedným z prístupov, ktoré sa na to používajú, je použitie callback funkcie: zabalíme kód, ktorý chceme vykonať neskôr, do anonymnej funkcie a odovzdáme ju ako parameter funkcii make:

make(function() { console.log('2'); });

Samozrejme, samo o sebe to našu úlohu nevyrieši. Zatiaľ sme len uzavreli dohodu: ak chcete vykonať kód po spustení make, odovzdajte tento kód ako callback funkciu pri volaní make.

Upravme kód funkcie make tak, aby začala fungovať v súlade s našou dohodou:

function make(callback) { setTimeout(function() { console.log('1'); // nejaká asynchrónna operácia, nemusí byť len jedna callback(); // potom náš callback }, 3000); }

Vysvetlite, v akom poradí sa vypíšu čísla do konzoly:

function make(callback) { setTimeout(function() { console.log('1'); callback(); }, 3000); } make(function() { console.log('2'); console.log('3'); });
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť