حلقة الحدث
فهم العمل الداخلي لحلقة الحدث.
سنغطي ما يلي...
-
- التزامن * كيف يعمل؟ * * في العمل * * ليس كل ما يلمع ذهبًا
التزامن
رغم أننا أشادنا Node.js لتشغيل التطبيقات على خيط واحد، إلا أن الأمر أكثر من ذلك. عندما نطلب من نظام التشغيل قراءة ملف نيابةً عنا، نستخدم API تطبيقات نظام الملفات. توفر لنا Node.js العديد من واجهات برمجة التطبيقات التي تسمح لنا بإنشاء
كيف يعمل؟
دعونا نلقي نظرة على المكونات التي تجعل كل هذا ممكنا.
حلقة الحدث
ال
قائمة الأحداث
تخزّن قائمة انتظار الأحداث الأحداث الواردة بشكل منظم. ثم تُمرّر هذه الأحداث واحدًا تلو الآخر إلى حلقة الأحداث.
مجموعة واجهات API
تتكون مجموعة واجهات API من جميع واجهات برمجة التطبيقات التي توفرها Node.js لتنفيذ أحداث الحظر بشكل غير متزامن.
في العمل
دعونا نرى كيف يتعامل Node.js مع الوظائف التي تستغرق وقتًا للمعالجة، مثلsetTimeout .setTimeout تُستخدم لتنفيذ دالة بعد فترة زمنية محددة. الوسيطة الأولى هي الدالة، وهي في حالتناlateFunc الحجة الثانية هي الوقت بالمللي ثانية. إذاlateFunc إذا أردنا أخذ حجج، فسيتم تمريرها بعد الحجة الثانية. إليك مثال:
function lateFunc() {
console.log('This was done asynchronously!');
}
console.log('This is the first log');
setTimeout(lateFunc, 5000);
console.log('This is the second log');حاول تغيير مدة مهلة الانتظارsetTimeout وظيفة لرؤية كيفية تغير إخراج .
دعونا نرى ما يفعله Node.js خلف الشاشة.
ليس كل ما يلمع ذهبا
حلقة الأحداث جزء أساسي من Node.js ، وهي سر كفاءتها. مع ذلك، لا تزال Node.js محدودة بقدرة المعالجة التي يمكنها تسخيرها. البرامج المعقدة التي تتطلب معالجة مكثفة قد تُبطئ العمل بشكل كبير. بينما يمكن لـ Node.js التعامل مع غير متزامن