Sobes.tech
Junior — Middle

Можете ли објаснити принцип рада циклуса обраде догађаја у асинхроним системима?

sobes.tech АИ

Одговор од АИ

Циклус догађаја (event loop) у асинхроним системима као што је Node.js одговоран је за управљање извршавањем асинхроних операција без блокирања главног тока.

Принцип рада:

  1. Све операције које захтевају време (нпр. читање фајлова, мрежни захтеви) се шаљу у ред догађаја.
  2. Циклус догађаја стално проверава овај ред и, када операција заврши, позива одговарајући callback или обрађивач.
  3. Главни ток се не блокира, он наставља да извршава следећи код док се не појаве завршени догађаји.

Ово омогућава ефикасно коришћење ресурса и обраду великог броја операција паралелно, упркос једнонишној природи Node.js.

Пример:

console.log('Почетак');
setTimeout(() => {
  console.log('Асимптон догађај');
}, 1000);
console.log('Крај');

Излаз ће бити:

Почетак
Крај
Асимптон догађај

Зато што setTimeout ставља функцију у ред догађаја, а циклус догађаја је позива касније.