حلقة الأحداث في Node: لماذا دالة واحدة تُجمّد الخادم كله

Node يعمل بخيط واحد لتنفيذ جافاسكربت. هذا يعني أن أي عملية متزامنة ثقيلة تُوقف كل الطلبات، لا طلبك وحدك. الأمثلة التي أراها كثيراً: fs.readFileSync داخل معالج طلب حلقة على مئة ألف عنصر JSON.parse لملف بحجم 50 ميغابايت تعبير نمطي بتراجع أُسّي (ReDoS) — الأخطر لأنه يبدو بريئاً الاختبار العملي: أضف setInterval يطبع طابعاً زمنياً كل 100 مللي ثانية. إن تباعدت الطوابع فحلقة الأحداث محجوبة. الحلول: النسخ غير المتزامنة، أو worker threads ، أو تقسيم العمل على دفعات.