فهم process.nextTick ()

تتفاعل الدالة Node.js process.nextTick مع حلقة الحدث بطريقة خاصة

أثناء محاولتك فهم ملفحلقة حدث Node.js، جزء مهم منه هوprocess.nextTick().

في كل مرة تقوم حلقة الحدث برحلة كاملة ، نسميها علامة.

عندما نمرر وظيفة إلىprocess.nextTick()، نطلب من المحرك استدعاء هذه الوظيفة في نهاية العملية الحالية ، قبل أن تبدأ علامة حلقة الحدث التالية:

process.nextTick(() => {
  //do something
})

حلقة الحدث مشغولة بمعالجة كود الوظيفة الحالي.

عند انتهاء هذه العملية ، يقوم محرك JS بتشغيل جميع الوظائف التي تم تمريرها إليهاnextTickالمكالمات خلال تلك العملية.

إنها الطريقة التي يمكننا من خلالها إخبار محرك JS بمعالجة وظيفة بشكل غير متزامن (بعد الوظيفة الحالية) ، ولكن في أقرب وقت ممكن ، لا تضعها في قائمة الانتظار.

الاتصالsetTimeout(() => {}, 0)سينفذ الوظيفة في نهاية العلامة التالية ، بعد وقت طويل من الاستخدامnextTick()الذي يعطي الأولوية للمكالمة وينفذها قبل بداية العلامة التالية مباشرة.

يستخدمnextTick()عندما تريد التأكد من أنه في تكرار حلقة الحدث التالي ، تم تنفيذ هذا الرمز بالفعل.

تحميل مجانيكتيب Node.js


المزيد من دروس العقدة: