تعمل عمليات Blocking (الحاجبة) بشكل متزامن وتحتجز خيط JavaScript الوحيد حتى تنتهي — ولا شيء آخر يمكن أن يعمل في هذه الأثناء. أما عمليات Non-blocking (غير الحاجبة) فتبدأ العمل، وتعود فورًا، وتسلّم النتيجة لاحقًا عبر callback أو Promise أو حدث، فيبقى الخيط حرًّا للقيام بأمور أخرى.
لماذا يكون Node أحادي الخيط ومع ذلك غير حاجب
يعمل كود JavaScript الخاص بك على خيط يقوده . تُفوَّض عمليات I/O (الملفات، الشبكة، DNS) إلى ، الذي يستخدم إمكانات نظام التشغيل غير المتزامنة و صغيرًا في الخلفية. وبينما يجري ذلك العمل خارج الخيط، يستمر event loop في معالجة callbacks أخرى. وعند اكتمال I/O، يُدرَج callback الخاص به في الطابور ويُنفَّذ.
