⊗jsSpACInr 155 of 294 menu

Асинхронен код со повици во JavaScript

Да претпоставиме дека имаме некоја асинхрона функција:

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

Да претпоставиме дека ја користиме оваа функција на следниов начин:

make(); console.log('2'); // ќе се изврши прво

Да претпоставиме дека сакаме да направиме така што вториот запис во конзолата да се изврши откако ќе се изврши асинхроната операција внатре во функцијата. Еден од пристапите кои се користат за ова е користење на повик: да го завиткаме кодот што чека во анонимна функција и да го пренесеме како параметар во функцијата make:

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

Се разбира, самото ова нема да ја реши нашата задача. Засега само склучивме следниот договор: ако сакате да извршите код после активирањето на make, пренесете го тој код како повик во повикот make.

Да го поправиме кодот на функцијата make така што таа ќе почне да работи во согласност со нашиот договор:

function make(callback) { setTimeout(function() { console.log('1'); // некоја асинхрона операција, можеби не една callback(); // потоа нашиот повик }, 3000); }

Објаснете, во кој редослед ќе се испишат броевите во конзолата:

function make(callback) { setTimeout(function() { console.log('1'); callback(); }, 3000); } make(function() { console.log('2'); console.log('3'); });
Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј