Junior — Middle
Оё метавонед принсипи кори Event Loop дар Node.js ва нақши он дар коркарди асинхронӣ фаҳмонед?
sobes.tech AI
Ҷавоб аз AI
Лавҳаи рӯйдод (Event Loop) дар Node.js механизме мебошад, ки имкон медиҳад, ки коди асинхронӣ бидуни бастани ҷараёни асосӣ иҷро шавад. Node.js дар як ҷараён кор мекунад, аммо бо ёрии Event Loop метавонад бисёр амалҳои воридотӣ-баромадиро дар параллел коркард кунад.
Принсипи кор:
- Вақте ки як амали асинхронӣ оғоз мешавад (масалан, хондани файл ё дархости ба базаи додаҳо), он ба API-и системӣ ё ба навбат фиристода мешавад.
- Event Loop ин амалҳоро назорат мекунад ва вақте ки онҳо ба анҷом мерасанд, callback-ҳоро ба навбати вазифаҳо (навбати callback) ҷойгир мекунад.
- Ҷараёни асосӣ ин callback-ҳоро ба тартиб коркард мекунад, онҳоро як ба як даъват мекунад.
Бо ҳамин роҳ, Event Loop коркарди бидуни бастани вазифаҳоро таъмин мекунад, ки Node.js бо шумораи зиёди амалҳои ҳамзамон самаранок кор кунад.
Масалан:
console.log('Start');
setTimeout(() => {
console.log('Timeout callback');
}, 0);
console.log('End');
// Натиҷа:
// Start
// End
// Timeout callback