⊗jsSpACInr 155 of 294 menu

Asinchrone kode met terugroepe in JavaScript

Gestel ons het 'n asinchrone funksie:

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

Gestel ons gebruik hierdie funksie op die volgende manier:

make(); console.log('2'); // sal eerste uitgevoer word

Gestel ons wil dit so maak dat die tweede uitskrif na die konsole slegs uitgevoer word nadat die asinchroniese operasie binne die funksie voltooi is. Een van die benaderings wat hiervoor gebruik word, is die gebruik van 'n terugroep: ons vou die wagkode in 'n anonieme funksie en gee dit as parameter aan die funksie make:

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

Op sigself sal dit natuurlik nie ons probleem oplos nie. Tot nou toe het ons net hierdie ooreenkoms getref: as u kode wil uitvoer na die uitvoering van make, gee daardie kode as 'n terugroep in die oproep na make.

Laat ons die kode van die funksie make regstel sodat dit volgens ons ooreenkoms begin werk:

function make(callback) { setTimeout(function() { console.log('1'); // een of ander asinchrone operasie, miskien meer as een callback(); // dan ons terugroep }, 3000); }

Vertel in watter volgorde die nommers in die konsool vertoon sal word:

function make(callback) { setTimeout(function() { console.log('1'); callback(); }, 3000); } make(function() { console.log('2'); console.log('3'); });
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp