JavaScript

JS Callbacks

في هذا الدرس سوف نتعرف علي ال callback وهي عبارة عن دالة يتم تمريرها بداخل دالة اخري وهذه الطريقة تسمح لنا بأنشاء دالة تقوم بأستدعاء دالة اخري

التاريخ

12 نوفمبر 2021

الدروس

146

المستوى

العامة

اللغة

انجليزي

المشاهدات

1171

المواضيع

24
الشروحات chevron_left JS Callbacks chevron_left JavaScript

JS Callbacks

</> JS Callbacks

 callback وهي عبارة عن طريقة نقوم خلالها بأنشاء دالة يتم تمريرها بداخل دالة اخري وهذه الطريقة تسمح لنا بأنشاء دالة تقوم باستدعاء دالة اخري

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

</> Function Sequence

في الجافا سكريبت يتم تنفيذ الدوال بطريقة متتالية حسب اماكن استدعائها وليس حسب اماكن انشائها

function myFirst() {
  myDisplayer("Hello");
}

function mySecond() {
  myDisplayer("Goodbye");
}

myFirst();
mySecond();

في المثال التالي علي الرغم من ان الدالة ( )myFirst تم انشائها قبل الدالة ( )mySecond الي ان الكود الموجود بداخل الدالة ( )mySecond لأنها هي من تم استدعائها اولا وليست دالة ( )myFirst

function myFirst() {
  myDisplayer("Hello");
}

function mySecond() {
  myDisplayer("Goodbye");
}

mySecond();
myFirst();

</> Sequence Control

- أحيانا تريد التحكم اكثر في تحديد الحالة التي سوف يتم خلالها تنفيذ الدالة 

- ولنفترض مثلا انك تريد اجراء عملية حسابية معينة وبعد الانتهاء من حسابها تقوم بتنفيذ دالة اخري تقوم بطباعة الناتج 

في المثال التالي قمنا بأنشاء دالة تقوم بأجراء هذه العملية الحسابية وهي "myCalculator " وتقوم بحفظ النتيجة وبعد ذلك تقوم الدالة "myDisplayer " بطباعة هذه النتيجة 

Example
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);

وبدلا من الطريقة السابقة التي تستلزم استدعاء اثنين من الدوال يمكنك استخدام ال callback في تمرير الدالة التي تقوم بطباعة النتيجة "myDisplayer " الي الدالة الاخري التي تقوم بأجراء العملية الحسابية "myCalculator " ك parameter

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}

function myCalculator(num1, num2) {
  let sum = num1 + num2;
  myDisplayer(sum);
}

myCalculator(5, 5);

</> JavaScript Callbacks

callback : هي عبارة عن دالة يتم تمريرها ك argument الي دالة اخري 

باستخدام ال callback يمكنك استدعاء الدالة التي تقوم بأجراء العملية الحسابية وبعد الانتهاء منها تقوم بأستدعاء دالة اخري callback بعد انتهاء العملية الحسابية في المثال التالي قمنا بتمرير الدالة ( )myDisplayer ك callback الي الدالة ( )myCalculator

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}

function myCalculator(num1, num2, myCallback) {
  let sum = num1 + num2;
  myCallback(sum);
}

myCalculator(5, 5, myDisplayer);

تذكر : عندما تقوم باستخدام دالة معينة ك callback وتمريرها الي داله اخري ك argument يجب ان تقوم بكتابة اسم الدالة بدون اقواس 

  • طريقة خاطئة "(( )5,5myDiplayer)myCalculator "
  • الطريقة الصحيحة "(5,5myDiplayer)myCalculator "
معلومات تهمك
  • لا تنسى تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنسى مشاركة الموقع مع أصدقاءك حتى تعمّ الفائدة وتكون سبب في نفعهم.
مشاركة
0
0
0
0
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات

لديك استفسار ؟

يسعدنا كثيرا مساعدتك في استيعاب افضل للأمور, فلا تترد مطلقا في الاتصال بنا في حال كانت لديك اية اسئله او استفسارات.