⊗jsSpACInr 155 of 294 menu

Asinhronais kods ar atsauksmēm JavaScript

Pieņemsim, ka mums ir kāda asinhrona funkcija:

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

Pieņemsim, ka mēs izmantojam šo funkciju šādi:

make(); console.log('2'); // izpildīsies pirmais

Pieņemsim, ka mēs vēlamies panākt, lai otrais izvads konsolē izpildītos pēc tam, kad izpildīsies asinhronā operācija funkcijas iekšienē. Viena no pieejām, ko šim nolūkam izmanto, ir atsauksmes izmantošana: ietinam gaidāmo kodu anonīmā funkcijā un padodam to kā parametru funkcijai make:

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

Protams, pats par sevi tas neatrisinās mūsu uzdevumu. Pašlaik mēs vienkārši noslēdzām šādu vienošanos: ja vēlaties izpildīt kodu pēc make izpildes, nododiet šo kodu atsauksmes veidā make izsaukumā.

Izlabosim funkcijas make kodu tā, lai tā sāktu strādāt saskaņā ar mūsu vienošanos:

function make(callback) { setTimeout(function() { console.log('1'); // kāda asinhronā operācija, var būt ne viena callback(); // tad mūsu atsauksme }, 3000); }

Pastāstiet, kādā secībā konsolē tiks izvadīti skaitļi:

function make(callback) { setTimeout(function() { console.log('1'); callback(); }, 3000); } make(function() { console.log('2'); console.log('3'); });
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt