⊗jsSpACInr 155 of 294 menu

Asynchroniczny kod z callbackami w JavaScript

Załóżmy, że mamy pewną asynchroniczną funkcję:

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

Załóżmy, że używamy tej funkcji w następujący sposób:

make(); console.log('2'); // wykona się pierwsze

Załóżmy, że chcemy, aby drugie wypisanie do konsoli wykonało się po tym, jak wykona się operacja asynchroniczna wewnątrz funkcji. Jednym z podejść używanych do tego, jest użycie callbacka: opakowujemy oczekujący kod w funkcję anonimową i przekazujemy parametrem do funkcji make:

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

Oczywiście, samo w sobie to nie rozwiąże naszego problemu. Na razie po prostu przyjęliśmy następującą konwencję: jeśli chcesz wykonać kod po wywołaniu make, przekaj ten kod callbackiem w wywołaniu make.

Poprawmy kod funkcji make tak, aby zaczęła działać zgodnie z naszą konwencją:

function make(callback) { setTimeout(function() { console.log('1'); // jakaś operacja asynchroniczna, może nie jedna callback(); // potem nasz callback }, 3000); }

Opowiedz, w jakiej kolejności wypiszą się liczby w konsoli:

function make(callback) { setTimeout(function() { console.log('1'); callback(); }, 3000); } make(function() { console.log('2'); console.log('3'); });
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ć