الاستدعاءات المنسوبة في جافا سكربت
- الصفحة السابقة JS الثابت
- الصفحة التالية JS المتقطع
"I will call back later!"
إعادة التشغيل (callback) هي وظيفة تُرسل كمعامل إلى وظيفة أخرى
يسمح هذا التكنولوجيا بتطلب وظيفة أخرى
يمكن تشغيل وظيفة إعادة التشغيل بعد اكتمال وظيفة أخرى
سلسلة الوظائف
تُنفذ الوظائف في JavaScript بناءً على ترتيب التطلب، وليس بناءً على ترتيب التعريف.
في هذا المثال، سيتم عرض "Goodbye" في النهاية:
مثال
function myFirst() { myDisplayer("Hello"); } function mySecond() { myDisplayer("Goodbye"); } myFirst(); mySecond();
في هذا المثال، سيتم عرض "Hello" في النهاية:
مثال
function myFirst() { myDisplayer("Hello"); } function mySecond() { myDisplayer("Goodbye"); } mySecond(); myFirst();
تحكم في الترتيب
في بعض الأحيان، قد ترغب في التحكم بشكل أفضل في وقت تنفيذ الوظائف.
افترض أنك تقوم بحسابات، ثم عرض النتيجة.
يمكنك طلب وظيفة الحاسبة (myCalculator
)، احفظ النتيجة ثم دع وظيفة أخرى تشغلها (myDisplayer
) لعرض النتيجة:
مثال
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; } function myCalculator(num1, num2) { let sum = num1 + num2; return sum; } let result = myCalculator(5, 5); myDisplayer(result);
أو يمكنك طلب وظيفة الحاسبة (myCalculator
)، ودع وظيفة الحاسبة تشغل وظيفة العرض (myDisplayer
):
مثال
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; } function myCalculator(num1, num2) { let sum = num1 + num2; myDisplayer(sum); } myCalculator(5, 5);
مشكلة المثال الأول هي أنك يجب على الت调用 وظيفتين لعرض النتيجة.
مشكلة المثال الثاني هي أنك لا تستطيع منع وظيفة الحاسبة من عرض النتيجة.
الآن هو الوقت المناسب لإدخال إعادة التشغيل.
الاستدعاءات المنسوبة في جافا سكربت
إعادة التشغيل هي وظيفة تُرسل كمعامل إلى وظيفة أخرى.
باستخدام إعادة التشغيل، يمكنك طلب وظيفة الحاسبة باستخدام إعادة التشغيل (myCalculator
، وبعد إكمال الحسابات، دع وظيفة الحاسبة تشغل إعادة التشغيل:
مثال
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; } function myCalculator(num1, num2, myCallback) { let sum = num1 + num2; myCallback(sum); } myCalculator(5, 5, myDisplayer);
في المثال السابق، myDisplayer
اسم الدالة.
تُقدم كمعامل. myCalculator()
.
عندما تقوم بتقديم وظيفة كمعامل، تذكر عدم استخدام الأقواس.
صحيح: myCalculator(5, 5, myDisplayer);
خطأ: myCalculator(5, 5, myDisplayer());
متى تستخدم الدالة المتقطعة؟
النموذج السابق ليس مثيراً كثيرًا.
لقد بسيطتناها لكي نوضح لك لغة الدالة المتقطعة.
النقطة التي تبرز فيها الدوال المتقطعة هي الدوال المتقطعة نفسها، حيث يجب أن ينتظر وظيفة أخرى (مثل انتظار تحميل الملف).
الفقرة التالية ستقوم بشرح الدوال المتقطعة.
- الصفحة السابقة JS الثابت
- الصفحة التالية JS المتقطع