البرمجة

مفهوم Asynchronous JavaScript: الفرق بين Callback و Promise و Async/Await

3 ديسمبر 20251 دقائق قراءة
مفهوم Asynchronous JavaScript: الفرق بين Callback و Promise و Async/Await

واحدة من أكثر الكلمات بحثًا على Google هي: "What is asynchronous JavaScript" لأن المبرمج المبتدئ دائمًا يخلط بين العمليات المتزامنة وغير المتزامنة. في هذا المقال تفهم الموضوع بشكل بسيط مع أمثلة جاهزة.

ما هو Asynchronous JavaScript؟

هو أسلوب يسمح لبرنامجك بتنفيذ عدة مهام دون الانتظار.
مثل:

  • جلب بيانات من API

  • تحميل صور

  • قراءة ملفات

  • العمليات البطيئة بشكل عام

بدون هذا الأسلوب، سيصبح الموقع بطيئًا جدًا.


1) Callback

هو تمرير دالة حتى تُنفذ بعد انتهاء عملية معينة.

function getUser(callback) {
  setTimeout(() => {
    callback("Osama");
  }, 2000);
}

getUser((name) => {
  console.log(name);
});

عيبه: Callback Hell (تشابك الدوال داخل بعض بشكل مزعج).


2) Promise

بديل حديث للـ Callback:

let promise = new Promise((resolve, reject) => {
  resolve("Data loaded");
});

promise.then((result) => console.log(result));

3) Async / Await

الأسلوب الأبسط والأكثر استخدامًا:

async function fetchData() {
  const response = await fetch("https://api.example.com/data");
  const data = await response.json();
  console.log(data);
}
fetchData();

خلاصة

تعامل JavaScript مع المهام غير المتزامنة هو أساس أي تطبيق حديث:

  • Callback: قديم

  • Promise: أفضل

  • Async/Await: الأنسب والأبسط

الوسوم

#JavaScript#ES6#تطوير ويب

مقالات ذات صلة

مقدمة في جافاسكربت — فهم الأساس والمنطق البرمجي

جافاسكربت هي اللغة التي تمنح المواقع الحياة. بدونها الموقع صفحة ثابتة لا تتغير. باستخدام JavaScript تستطيع: جعل الموقع يتفاعل مع المستخدم إنشاء أزرار تعمل فعليًا التحكم في النصوص والصور حفظ البيانات جلب معلومات من الإنترنت (API)

5 ديسمبر 20252 دقائق قراءة