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:
- Funktsiya chaqiruvlari va sinxron kodlar darhol chaqiriqlar stekida bajariladi.
- Asinxron operatsiyalar (masalan, timerlar, tarmoq so'rovlar) Web APIs (brauzer) yoki Node.js'dagi mos API'ga yuboriladi.
- Asinxron operatsiya tugagach, uning callback'i vazifa navbatiga (task queue) joylashtiriladi.
- 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