شبكة تعلم مع ناو

ما هي دالة الـ Callback في JavaScript؟

الـ Callback دالة نمررها إلى دالة أخرى، لتُنفَّذ بعد أن تنتهي من عملها:

function fetchData(callback) {
  setTimeout(() => {
    console.log("Data fetched");
    callback();  // run it after the data is ready
  }, 2000);
}

function onDataFetched() {
  console.log("Callback executed");
}

fetchData(onDataFetched);

بعد ثانيتين يظهر Data fetched ثم Callback executed.

أين تراها؟

button.addEventListener('click', () => { ... });
[1, 2, 3].map(n => n * 2);

المشكلة

عندما تتداخل عمليات كثيرة، تتداخل الـ callbacks داخل بعضها ويصعب قراءة الكود (Callback Hell). لهذا ظهرت Promises وasync/await.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.