Asinxron Javascript qanday ishlaydi? (Memory management bilan birga tushuntirish)

October 5, 2025 (3w ago)

Javascript bizga juda kerakli imkoniyatlarni taqdim qilgan. Shulardan biri Asinxron JavasCript deb bilaman. Asinxron kodlardan ko’p foydalanamiz. Lekin u aslida qanday ishlaydi? Asinxron kodlarga misol setTimeout, setInterval, Promise, async/await va Http requestlar. Http requestlar by default Javascript tomonidan asinxron qilib yozilgan. Buning sababi ma’lum.

Asinxron kodlar qanday ishlashidan avval biz Event Loop nima ekanligini bilishimiz kerak.

Bizning kodlarimiz Event Loop mexanizmida ishlaydi.

Event loop nima? Queue tasklarni olib, Call Stackka joylashtiradigan mexanizm. Umuman olganda barcha tasklar borib Call Stack da bajariladi va tugatiladi.

Misol uchun:

Asinxron kodlar qanday ishlaydi?

Quyidagi kodga e’tibor bering:

console.log(1);
 
setTimeout(() => {
  console.log(2);
}, 1);
 
console.log(3);
 
// Natijalar quyidagicha:
// 1;
// 3;
// 2;

Nima sababdan console ga 2 dan avval 3 natijasi chiqmoqda? Bizdagi asinxron kodlar dastlab CallStack ga tushadi, callback qismi Web Api’ga boradi va bajariladi. Keyin esa Queue (navbat)ga o’tadi. O’z navbati kelganidan so’ng va CallStack bo’sh bo’lganida u bajariladi va yakunlanadi.

Quyidagi animatsiyada juda yaxshi ko’rsatilib berilgan: Asinxron kodlarning ishlash mexanizmi!


Telegram kanalimga obuna bo'ling: @usmanov_dev