في جافا سكريبت ، تتيح لك وظيفة سيتينرفال البدء في تنفيذ رمز معين بعد فترة زمنية معينة. ومع ذلك ، في بعض الأحيان يكون من الضروري إيقاف تشغيل هذه الوظيفة. قد يكون هذا مطلوبا ، على سبيل المثال ، في ظل ظروف معينة أو بعد تحقيق هدف معين. في هذه المقالة ، سنلقي نظرة على بعض الطرق البسيطة لإيقاف تعيين الفاصل الزمني في جافا سكريبت ومنع الأخطاء المحتملة.
بمجرد أن نسمي وظيفة سيتينرفال ، فإنه يخلق جهاز توقيت من شأنها تنفيذ رمز معين كل فترة معينة من الزمن. يمكنك إيقاف هذا الموقت باستخدام وظيفة كليرينتيرفال عن طريق تمريرها المعرف الذي ترجع وظيفة سيتينيرفال عندما دعا. وهكذا ، بعد استدعاء كليرينتيرفال ، سيتم إيقاف الموقت ولن يتم تنفيذ التعليمات البرمجية.
ومع ذلك ، قد يكون هناك موقف عندما ننسى إيقاف المؤقت أو ننسى التحقق من حالة التوقف. في هذه الحالة ، سيستمر تشغيل المؤقت ، مما قد يؤدي إلى أخطاء غير مرغوب فيها وزيادة التحميل على المعالج. لتجنب مثل هذه المشاكل ، يوصى دائما بالتحقق من الشروط اللازمة قبل استدعاء وظيفة سيتينرفال أو استخدام طرق لإيقاف المؤقت داخل الكود نفسه حتى نعرف بالضبط متى نوقفه.
من المهم أن تتذكر أنه لا يمكن استدعاء دالة كليرينتيرفال إلا إذا كان هناك معرف تم إرجاعه بواسطة دالة سيتينيرفال. لذلك ، من الضروري حفظ هذا المعرف في متغير حتى تتمكن من إيقاف المؤقت.
- كيفية إيقاف تعيين الفاصل الزمني بشكل صحيح في جافا سكريبت?
- طرق بسيطة لإنهاء وظيفة عبر كليرينتيرفال
- الاستثناءات والأخطاء عند استخدام سيتينرفال وحلها
- 1. "تسرب الذاكرة"
- 2. "تراكم" من التعليمات البرمجية المنفذة
- 3. معلمات وظيفة غير صحيحة
كيفية إيقاف تعيين الفاصل الزمني بشكل صحيح في جافا سكريبت?
في جافا سكريبت ، يتم استخدام وظيفة سيتينتيرفال لاستدعاء وظيفة معينة أو تنفيذ رمز معين بعد فترة معينة من الزمن ، المحدد في ميلي ثانية. ومع ذلك ، قد يكون من الضروري في بعض الأحيان إيقاف مكالمة متكررة لهذه الوظيفة. في هذه المقالة ، سوف ننظر في بعض الطرق البسيطة لوقف مجموعةفاصل زمني.
- باستخدام كليرينتيرفال
الطريقة الأسهل والأكثر موثوقية لوقف مكالمة متكررة إلى مجموعة وظيفة مع سيتينرفال هو استخدام وظيفة كلينتيرفال. للقيام بذلك ، تحتاج إلى تخزين معرف الفاصل الزمني الذي تم إرجاعه بواسطة دالة سيتينرفال في متغير ، ثم تمرير هذا المتغير إلى دالة كلينترفال. وبالتالي ، سيتم إيقاف وظيفة سيتينرفال.
مثال:
دعونا إنترفاليد = سيتينرفال (ميفونكتيون ، 1000);
وظيفة ميفونكتيون () {
وحدة التحكم.سجل ("استدعاء الدالة");
}
كليرينتيرفال (إنتيرفاليد);
في المثال أعلاه ، سيتم استدعاء وظيفة ميفونكتيون كل ثانية حتى يتم استدعاء وظيفة كليرينتيرفال ، ويمر عليه الفاصل الزمني المحفوظ معرف الفاصل الزمني.
- استخدام العلم للتوقف
طريقة أخرى لوقف سيتينرفال هو استخدام العلم الذي سيشير إلى ما إذا كان لمواصلة استدعاء وظيفة أم لا. في هذه الحالة ، سوف تحتاج إلى وضع علامة الاختيار داخل وظيفة تسمى باستخدام سيتينرفال وتغيير قيمته في اللحظة المناسبة. إذا تم تعيين العلم على خطأ ، فستتوقف الوظيفة عن الاتصال.
مثال:
دع نشط = صحيح;
دعونا إنترفاليد = سيتينرفال (ميفونكتيون ، 1000);
وظيفة ميفونكتيون () {
إذا (غير نشط) {
وحدة التحكم.سجل ("استدعاء الدالة");
}
آخر {
كليرينتيرفال (إنتيرفاليد);
}
}
// في مكان ما في التعليمات البرمجية الخاصة بك يمكنك تغيير قيمة العلم إلى كاذبة:
غير نشط = خطأ;
في المثال أعلاه ، سيتم استدعاء وظيفة ميفونكتيون كل ثانية حتى يتم تعيين العلم إيساكتيف إلى صحيح. إذا تم تغيير قيمة العلم إلى كاذبة ، سيتم استدعاء وظيفة كليرينتيرفال ، ووقف المزيد من المكالمات وظيفة.
وبالتالي ، في جافا سكريبت ، هناك عدة طرق لإيقاف مجموعة استدعاء دالة متكررة باستخدام سيتينرفال. يجب اختيار الطريقة المنفذة اعتمادا على المتطلبات والميزات المحددة لمشروعك.
طرق بسيطة لإنهاء وظيفة عبر كليرينتيرفال
في جافا سكريبت ، هناك عدة طرق لوقف تنفيذ وظيفة باستخدام وظيفة كليرينتيرفال.
- إنشاء متغير من شأنها تخزين معرف الموقت وردت عند استدعاء سيتينرفال.
- استخدام هذا المعرف جنبا إلى جنب مع وظيفة كليرينتيرفال لمسح الموقت.
فيما يلي بعض الطرق البسيطة لإنهاء وظيفة:
دعونا العد = 0;
كونست إنتيرفاليد = سيتينرفال (() = > {
محاولة {
وحدة التحكم.سجل (العد);
count++;
إذا (العد = = = 5) {
رمي خطأ جديد ('إيقاف تنفيذ وظيفة');
} الصيد (خطأ) {
كليرينتيرفال (إنتيرفاليد);