Promise

في جافا سكريبت، Promise هي كائن يُستخدم لتمثيل عملية غير متزامنة (asynchronous operation) قد تكتمل الآن أو في المستقبل أو لا تكتمل إطلاقًا. ظهرت Promises لحل مشاكل الـ callback hell وتحسين التعامل مع العمليات التي تستغرق وقتًا مثل طلبات HTTP، القراءة من ملفات، أو العمليات المؤجلة بشكل عام.

✅ أولًا: ما هو الـ Promise؟

Promise هو كائن يمثل قيمة ناتجة عن عملية غير متزامنة، والتي يمكن أن تكون في إحدى الحالات التالية:

الحالةالوصف
pendingجاري تنفيذ العملية ولم تكتمل بعد
fulfilledالعملية اكتملت بنجاح وتم إنتاج نتيجة
rejectedالعملية فشلت بسبب خطأ وتم إرجاع سبب الرفض (خطأ مثلاً)
🧠 الشكل الأساسي للـ Promise
const promise = new Promise((resolve, reject) => {
  // عملية غير متزامنة
  if (نجاح) {
    resolve('تمت العملية بنجاح');
  } else {
    reject('حدث خطأ');
  }
});
JavaScript