JavaScript - البرمجة غير المتزامنة (Asynchronous)

JavaScript - البرمجة غير المتزامنة (Asynchronous)

🔸 في JavaScript، Asynchronous Programming تعني أن الكود لا ينتظر تنفيذ الأسطر السابقة ليكمل، بل يمكنه المتابعة أثناء حدوث عمليات بطيئة مثل جلب البيانات أو التعامل مع الوقت. وهذا ما يجعل JavaScript فعالة في التعامل مع الويب.

---

🔹 الفرق بين Synchronous و Asynchronous

  • Synchronous: كل سطر يجب أن يكتمل قبل الانتقال للسطر التالي.
  • Asynchronous: يمكن تنفيذ الأسطر التالية دون انتظار انتهاء العمليات البطيئة.
---

🔹 مثال توضيحي باستخدام setTimeout


console.log("قبل الانتظار");

setTimeout(() => {
  console.log("بعد 2 ثانية");
}, 2000);

console.log("بعد السطر غير المتزامن");

📌 رغم أن setTimeout يأتي قبل "بعد السطر"، إلا أن تنفيذه يتأخر، لأنه غير متزامن.

---

🔹 لماذا نحتاج Asynchronous؟

  • لمنع تجميد الصفحة عند تحميل بيانات من الإنترنت.
  • للسماح بتفاعل المستخدم أثناء انتظار الرد من الخادم.
  • لتنفيذ مهام خلفية دون تعطيل سير التطبيق.
---

📌 أدوات Asynchronous في JavaScript

  • setTimeout() و setInterval()
  • XMLHttpRequest (قديم)
  • Fetch API (حديث)
  • Promises و async/await (أفضل الحلول)
---

⚠️ ملاحظات مهمة

  • JavaScript تستخدم نموذج event-driven — أي تعتمد على الأحداث (Events).
  • يُعد فهم البرمجة غير المتزامنة ضروريًا لتطوير تطبيقات حديثة وسريعة.

تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - مقدمة عن Entity Framework