JavaScript - دوال الاسترجاع (Callbacks)
JavaScript - دوال الاسترجاع (Callbacks)
🔸 Callback هي دالة يتم تمريرها كوسيط (parameter) إلى دالة أخرى، وتُستدعى لاحقًا بعد اكتمال مهمة معينة. تُستخدم كثيرًا في البرمجة غير المتزامنة، مثل تحميل البيانات أو التعامل مع الوقت.
---🔹 مثال بسيط على Callback
function greeting(name) {
console.log("مرحبًا " + name);
}
function processUserInput(callback) {
const name = "Mahmoud";
callback(name);
}
processUserInput(greeting);
📌 هنا، تم تمرير الدالة greeting
كوسيط، ثم تم استدعاؤها داخل processUserInput
.
🔹 استخدام Callback في العمليات غير المتزامنة
setTimeout(function() {
console.log("تم تنفيذ الدالة بعد 2 ثانية");
}, 2000);
📌 setTimeout
تأخذ دالة يتم استدعاؤها بعد وقت معين — هذا أيضًا يُعتبر Callback.
🔹 تمرير Callback مخصص
function displayResult(result) {
console.log("النتيجة:", result);
}
function add(a, b, callback) {
const sum = a + b;
callback(sum);
}
add(5, 3, displayResult); // النتيجة: 8
---
📌 لماذا نستخدم Callback؟
- لضمان تنفيذ بعض الأوامر بعد انتهاء عملية غير متزامنة.
- لتنظيم الكود عند التعامل مع عدة عمليات متسلسلة.
⚠️ ملاحظات مهمة
- الاعتماد المفرط على Callbacks قد يؤدي إلى ما يُعرف بـ Callback Hell (تشابك عميق يصعب قراءته).
- لحل هذه المشكلة، ظهرت
Promises
ثمasync/await
.
تعليقات
إرسال تعليق