Sobes.tech
Junior — Middle

JavaScriptda Event Loop qanday ishlashini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

JavaScript'da Event Loop — bu asosiy ijro oqimini bloklamasdan asinxron operalarni qayta ishlash imkonini beradigan mexanizm.

Ishlash prinsipi:

  1. Funktsiya chaqiruvlari va sinxron kodlar darhol chaqiriqlar stekida bajariladi.
  2. Asinxron operatsiyalar (masalan, timerlar, tarmoq so'rovlar) Web APIs (brauzer) yoki Node.js'dagi mos API'ga yuboriladi.
  3. Asinxron operatsiya tugagach, uning callback'i vazifa navbatiga (task queue) joylashtiriladi.
  4. Event Loop doimiy ravishda chaqiriqlar stekini tekshiradi: agar bo'sh bo'lsa, u vazifa navbatidan birinchi callback'ni oladi va uni bajarish uchun stekka joylashtiradi.

Shu tarzda, JavaScript yagona ipda qoladi, ammo bloklamasdan asinxron operatsiyalarni samarali tarzda boshqarishi mumkin.

Misol:

console.log('Boshlanish');
setTimeout(() => {
  console.log('Asinxron chaqiruv');
}, 0);
console.log('Yakuni');
// Natija quyidagicha bo'ladi:
// Boshlanish
// Yakuni
// Asinxron chaqiruv