اذهب إلى المحتوى
  • 0

ما هى فائدة الدالة resolve

محمد محمود عبد المحسن

السؤال

Recommended Posts

  • 0

تستخدم الدالة resolve بشكل اساسي في الوعود في جافاسكريبت وهو تقوم بالاستجابة للوعد باستخدام القيمة التي تمرر داخلها،  لاحظ الكود التالي :

// دالة احضار بيانات مثلاً
function getData() {
  // يحاكي استدعاء واجهة برمجة التطبيقات (API) التي تأخذ ٢ ثانية لإكمال العملية
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      // واعادة القيمة وهذه تحدث في العادة بعد احضار البيانات من الخادم بنجاح Promise الاستجابة للوعد
      resolve("تم استلام البيانات بنجاح!");
    }, 2000);
  });
}

// استدعاء دالة getData وتسجيل النتيجة
getData().then((result) => {
  console.log(result);
})

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

أولاً يجب معرفة ما هي ال Promises حيث تعتبر آلية تُستخدم لتنظيم وإدارة العمليات الغير متزامنة، مثل استرجاع البيانات من الخوادم أو التفاعل مع قواعد البيانات. أما بالنسبة لدالة `resolve` تُستخدم لحل (أو إتمام) Promise بقيمة معينة. عندما يتم استدعاء `resolve`، يتم اكتمال الPromise بنجاح، ويتم تحديد القيمة التي سيتم تمريرها إلى الدالة `then` التي تلي الـPromise.

مثال بسيط:

const myPromise = new Promise((resolve, reject) => {
  // يتم تنفيذ العمليات هنا
  let success = true;

  if (success) {
    resolve("تم النجاح!"); // يتم حل الـPromise بنجاح مع القيمة المحددة
  } else {
    reject("حدث خطأ!"); // في حالة حدوث خطأ
  }
});

myPromise.then((result) => {
  console.log(result); // سيتم طباعة "تم النجاح!" إذا تم حل الـPromise بنجاح
}).catch((error) => {
  console.error(error); // سيتم طباعة "حدث خطأ!" في حالة حدوث خطأ
});

في هذا المثال، إذا كانت العمليات تنجح (success = true)، يتم استدعاء `resolve` مع الرسالة "تم النجاح!"، وهذا سيؤدي إلى تنفيذ الدالة `then` وطباعة النص "تم النجاح!" في وحدة التحكم.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...