٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

آموزش پاسخهای جاوا اسکریپت

“بعداً تماس خواهم گرفت!” فراخوانی تابعی است که به عنوان آرگومان به عملکرد دیگری منتقل می شود این روش به یک تابع اجازه می دهد تا عملکرد دیگری را فراخوانی کند یک عملکرد برگشت تماس می تواند پس از پایان…

محمد یوسفی

27 جولای 2021

“بعداً تماس خواهم گرفت!”

فراخوانی تابعی است که به عنوان آرگومان به عملکرد دیگری منتقل می شود

این روش به یک تابع اجازه می دهد تا عملکرد دیگری را فراخوانی کند

یک عملکرد برگشت تماس می تواند پس از پایان عملکرد دیگری اجرا شود

توالی عملکرد

توابع JavaScript با توالی ای که فراخوانی می شوند ، اجرا می شوند. نه در توالی تعریف شده آنها.

در پایان این مثال “خداحافظ” نمایش داده می شود:

مثال

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

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

myFirst();
mySecond();

در پایان این مثال “سلام” نمایش داده می شود:

مثال

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 ())؛


چه موقع از تماس برگشتی استفاده کنید؟

مثالهای بالا خیلی هیجان انگیز نیستند.

آنها ساده هستند تا نحو پاسخ به شما را بیاموزند.

جاهایی که واقعاً بازخورد درخشش دارند در عملکردهای ناهمگام هستند ، جایی که یک عملکرد باید منتظر عملکرد دیگری باشد (مانند انتظار برای بارگیری پرونده).

توابع ناهمزمان در فصل بعدی آورده شده است.

منبع

مطالب مرتبط

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها