⊗jsSpACInr 155 of 294 menu

JavaScript-da çakyýeti çaýyrmalar bilen asinhron kod

Bizde käbir asinhron funksiýa bar bolsun:

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

Bu funksiýany şeýle ulanalym:

make(); console.log('2'); // birinji ýerine ýetiriler

Ikiji konsol çykyşy, funksiýanyň içindäki asinhron amal ýerine ýetirilenden soň ýerine ýetirilmegini isleýäris. Bun üçin ulanylan ýörelgeleriň biri, çakyýeti çaýyrmalary ulanmakdyr: garaşýan kody atsyz funksiýa hökmünde gaplaýarys we make funksiýasyna parametr hökmünde geçirýäris:

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

Elbetde, bu, özi bilen, biziň meselemyzy çözmez. Hälki biz diňe şu ylalaşyga geldik: make işlenenden soň kody ýerine ýetirmek isleseňiz, bu kody make çaýyryşyna çakyýet çaýyrmasy hökmünde geçiriň.

make funksiýasynyň koduny, biziň ylalaşygymyza laýyklykda işlemegi üçin düzedeliň:

function make(callback) { setTimeout(function() { console.log('1'); // käbir asinhron amal, bir ýada birnäçesi bolup biler callback(); // soňra biziň çakyýet çaýyrmamyz }, 3000); }

Konsolda sanlaryň haýsy tertipde çykajakdygyny düşündiriň:

function make(callback) { setTimeout(function() { console.log('1'); callback(); }, 3000); } make(function() { console.log('2'); console.log('3'); });
Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et