البرمجة

فهم دالة setTimeout في JavaScript

في الواقع، تعتمد عملية setTimeout() على طبيعة اللغة والسياق الذي يتم فيه استخدامها. عند استخدام setTimeout() في لغة البرمجة JavaScript، يتم تحديد وقت معين (بالمللي ثانية) لتأخير تنفيذ الوظيفة التي يتم تمريرها كوسيط لـ setTimeout().

مهما كانت اللغة التي يتم فيها استخدام setTimeout()، فإنها عادة ما تعمل بشكل غير تزامني. يعني هذا أنها لا تنتظر حتى اكتمال تنفيذ الوظيفة داخل setTimeout() قبل المضي قدمًا في التنفيذ الرئيسي للبرنامج. بدلاً من ذلك، يتم تعيين المؤقت ويتم متابعة تنفيذ الشيفرة الأصلية دون انتظار اكتمال الوظيفة المؤرجة.

على سبيل المثال، إذا قمت بكتابة:

javascript
console.log("Start"); setTimeout(() => { console.log("Inside setTimeout"); }, 1000); console.log("End");

سيتم طباعة “Start” أولاً، ثم “End”، ثم “Inside setTimeout” بعد مرور ثانية (1000 مللي ثانية).

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

المزيد من المعلومات

عند استخدام setTimeout() في JavaScript، يتم تحديد الوقت اللازم لتأخير تنفيذ الوظيفة بوحدة الزمن المحددة (مللي ثانية) كوسيط ثاني للدالة. يُستخدم هذا الأسلوب عادةً في تنظيم السياقات التي قد تحتاج إلى تأخير تنفيذ جزء من الشيفرة.

المزيد حول setTimeout():

  1. تحديد الزمن:
    يُحدد الوقت المحدد بوحدة مللي ثانية، وهو يحدد المدى الزمني الذي يجب أن تنتظره الوظيفة قبل أن تبدأ التنفيذ.

  2. الدالة المستدعاة:
    الدالة التي تمررها كوسيط إلى setTimeout() هي الوظيفة التي ستتم تنفيذها بعد انقضاء الوقت المحدد.

  3. تنفيذ غير تزامني:
    setTimeout() تعتبر عملية غير تزامنية، حيث أنها لا تتوقف عن تنفيذ الشيفرة الرئيسية في البرنامج، وإنما تكمل التنفيذ وتترك الوظيفة المحددة للتنفيذ في وقت لاحق.

  4. استخدامات متنوعة:
    يُستخدم setTimeout() في العديد من السيناريوهات، مثل تأجيل تحميل الصور أو تحديد وقت لعرض إشعارات في واجهة المستخدم أو تنظيم المهام اللازمة للتأكد من عدم تأثير الوظائف الطويلة على تجريب الشيفرة.

  5. إدارة الوقت:
    يعتبر setTimeout() أداة قوية في إدارة الوقت وتحكم في تسلسل تنفيذ الشيفرة.

من الجدير بالذكر أن هناك أيضاً دالة setInterval() التي تعمل بشكل مماثل، ولكنها تكرر التنفيذ بانتظام بينما setTimeout() تنفذ الكود مرة واحدة بعد فترة زمنية.

زر الذهاب إلى الأعلى