⊗jsSpACInr 155 of 294 menu

Asinchroninis kodas su atgalinio iškvietimo funkcijomis JavaScript

Tarkime, kad turime kokią nors asinchroninę funkciją:

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

Tarkime, kad naudojame šią funkciją taip:

make(); console.log('2'); // įvyks pirmas

Tarkime, kad norime padaryti taip, kad antroji išvestis į konsolę įvyktų po to, kai bus įvykdyta asinchroninė operacija funkcijos viduje. Vienas iš tam naudojamų būdų yra atgalinio iškvietimo funkcijų naudojimas: apgaubiama laukiamą kodą anonime funkcija ir perduodama parametru į funkciją make:

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

Žinoma, tai pati savaime neišspręs mūsų užduoties. Kol kas mes tiesiog sudarėme tokį sutartį: norėdami vykdyti kodą po make suveikimo, perduokite tą kodą atgalinio iškvietimo funkcija į make iškvietimą.

Pataisykime funkcijos make kodą taip, kad ji pradėtų veikti pagal mūsų sutartį:

function make(callback) { setTimeout(function() { console.log('1'); // kaž kokia asinchroninė operacija, gali būti ne viena callback(); // tada mūsų atgalinio iškvietimo funkcija }, 3000); }

Paaiškinkite, kokia tvarka bus išvesti skaičiai konsolėje:

function make(callback) { setTimeout(function() { console.log('1'); callback(); }, 3000); } make(function() { console.log('2'); console.log('3'); });
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti