⊗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šuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა