كيف تنفذ الوعود في JavaScript؟



تُستخدم الوعود في JavaScript أساسًا للتعامل مع العمليات غير المتزامنة. ستساعدك هذه المقالة في استكشاف المفهوم بالتفصيل.

وعود في تستخدم أساسًا للتعامل مع العمليات غير المتزامنة. الوعد هو شيء قد ينتج عنه قيمة واحدة في المستقبل: إما قيمة تم حلها ، أو خطأ.

سيتم تغطية المؤشرات التالية في هذه المقالة ،





لنبدأ بهذه المقالة عن الوعود في JavaScript

أهمية:

تأتي الوعود في متناول اليد عندما يكون هناك العديد من العمليات غير المتزامنة التي يجب التعامل معها. قبل تقديم الوعود في JavaScript ، كانت هناك أحداث ووظائف رد اتصال تُستخدم للتعامل مع العمليات غير المتزامنة. نظرًا لأن الأحداث ليست مفيدة كثيرًا في حالة العمليات غير المتزامنة ، فهي غير مفضلة. إن العودة إلى رد الاتصال ، واستخدامها في مضاعفات من شأنه أن يخلق فوضى بحيث يصعب على أي شخص فهم الكود.
لذلك فإن الوعود هي الخيار الأول لكل مبرمج للتعامل مع العمليات غير المتزامنة بأبسط طريقة. لديهم ميزات متقدمة تجعل من السهل عليهم التعامل مع العمليات بدلاً من رد الاتصال والأحداث.



  • الوعود تجعل الكود قابلاً للقراءة مما يعني أنه يمكن للمبرمجين تحريره في مرحلة لاحقة من التطوير أيضًا.
  • هناك معالجة أفضل خلال العمليات غير المتزامنة بالمقارنة مع رد الاتصال والحدث.
  • تعتبر معالجة الأخطاء المتقدمة أيضًا ميزة مهمة.
  • يوجد تدفق أفضل لتعريف التحكم في غير المتزامن.

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

نوع الدول:

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

المضي قدمًا في هذه المقالة عن الوعود في JavaScript



خلق الوعود

الوعد يتم إنشاؤه باستخدام منشئ الوعد.

بناء الجملة:

الوعد المتغير = الوعد الجديد (الوظيفة (حل ، رفض) {// افعل شيئًا هنا})

المعلمات:
تأخذ الوعد منشئ وسيطة واحدة ، وظيفة رد الاتصال. هناك وسيطان في وظيفة رد الاتصال ، حل أو رفض. يتم تنفيذ العمليات داخل وظائف رد الاتصال ، إذا سارت الأمور على ما يرام ، فسيتم حل المكالمة وإلا فسيتم رفض المكالمة.

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

أوجه التشابه بين جافا وجافا سكريبت

مثال 1:

var وعد = وعد جديد (وظيفة (حل ، رفض) {/ * إعلان وتعريف متغيرين من نوع بيانات const مع نفس المحتوى. * / const a = 'مرحبًا! اسمي Yash وأنا مهتم بعلوم الكمبيوتر.' const b = 'مرحبًا! اسمي Yash وأنا مهتم بعلوم الكمبيوتر.' // التحقق مما إذا كان المحتوى المخزن في المتغيرات متماثلًا أم لا إذا كان (a === b) {// استدعاء حل حل () } وعد آخر {// calling رفض رفض ()}}). ثم (الوظيفة () {console.log ('تم حل الوعد !!')}). catch (function () {console.log ('Promise Rejected !!')})

انتاج:
الإخراج- الوعود في JavaScript- Edureka

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

المثال 2:

الوعد var = الوعد الجديد (الوظيفة (حل ، رفض) {// تهيئة متغيرين بقيم صحيحة const x = 11 + 2 const y = 26/2 // التحقق مما إذا كان كلا المتغيرين متساويين أم لا إذا كان (x === y ) {// استدعاء حل الحل ()} آخر {// استدعاء رفض رفض ()}}). ثم (function () {console.log ('تم حل الوعد !!')}). catch (function () {console.log ('الوعد مرفوض !!')})

انتاج:

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

المثال 3:

الوعد var = الوعد الجديد (الوظيفة (حل ، رفض) {const i = 'Hello' const a = 'World' // يؤدي إضافة متغيرين لتخزين القيمة في متغير آخر ، const j = i + a if ((i + a ) === j) {// استدعاء حل الحل ()} آخر {// استدعاء رفض رفض ()}}) وعد. ثم (function () {console.log ('تم حل الوعد !!')}). catch (function () {console.log ('الوعد مرفوض !!')})

انتاج:

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

وعود المستهلكين

هناك نوعان من وظائف التسجيل:

ثم()

عندما يتم حل الوعد أو رفضه ، يتم استدعاء ().

المعلمات:

  • إذا تم الوفاء بالوعد ، فسيتم تنفيذ الوظيفة الأولى واستلام النتيجة.
  • إذا تم رفض الوعد ، يتم تنفيذ الوظيفة الثانية ويظهر خطأ على الشاشة.

بناء الجملة:

ثم (الوظيفة (النتيجة) {// معالجه النجاح} ، الوظيفة (خطأ) {// معالجة الخطأ})

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

مثال

عندما يتم حل الوعد

// حل الوعد var وعد = جديد الوعد (الوظيفة (حل ، رفض) {حل ('رسالة النجاح مكتوبة هنا!')}) وعد. ثم (الوظيفة (successMessageishere) {// تم استدعاء وظيفة معالجة النجاح console.log (SuccessMessageishere)}، الوظيفة (errorMessageishere) {console.log (errorMessageishere)})

انتاج:

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

عندما يرفض الوعد

// رفض الوعد var وعد = وعد جديد (الوظيفة (حل ، رفض) {رفض ('رسالة الرفض مكتوبة هنا!')}) وعد. ثم (الوظيفة (SuccessMessage) {console.log (SuccessMessage)} ، الوظيفة ( errorMessage) {// تم استدعاء وظيفة معالج الأخطاء console.log (errorMessage)})

انتاج:

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

قبض على ( )

عندما يكون هناك نوع من الخطأ أو تم رفض الوعد أثناء وقت التنفيذ ، يتم استدعاء catch ().
المعلمات:

  • يتم تمرير وظيفة واحدة فقط كمعامل في طريقة catch ().
  • تم تصميم هذه الوظيفة للتعامل مع الأخطاء أو رفض الوعد.

بناء الجملة:

.catch (وظيفة (خطأ) {// معالجة خطأ})

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

مثال 1:

الوعد المتغير = الوعد الجديد (الوظيفة (حل ، رفض) {رفض ('الوعد مرفوض')}) وعد. ثم (الوظيفة (نجاح) {console.log (النجاح)}). كاتش (الوظيفة (خطأ) {// تم استدعاء دالة معالج الخطأ console.log (خطأ)})

انتاج:

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

المثال 2:

الوعد var = الوعد الجديد (الوظيفة (حل ، رفض) {// رسالة خطأ تلقي خطأ جديد ('هناك خطأ ما!')}) وعد. ثم (الوظيفة (نجاح) {console.log (نجاح)}). (الدالة (خطأ) {// تم استدعاء دالة معالج الأخطاء console.log (خطأ)})

انتاج:

المضي قدمًا في هذه المقالة عن الوعود في JavaScript

المثال 3:

الوعد var = الوعد الجديد (الوظيفة (حل ، رفض) {// يمكن تحرير رسالة خطأ هنا بطرح خطأ جديد ('حدث خطأ ما!')}) وعد. ثم (الوظيفة (هذا النجاح) {console.log (Thissuccess)} ) .catch (function (Thiserror) {// error handler function استدعاء console.log (Thiserror)})

انتاج:

تطبيق:
1. معالجة الأحداث غير المتزامنة.
2. معالجة طلبات HTTP غير المتزامنة.

وهكذا وصلنا إلى نهاية هذا المقال حول 'الوعود في JavaScript'. إذا كنت ترغب في معرفة المزيد ، تحقق من بواسطة Edureka ، شركة تعليمية موثوقة عبر الإنترنت. تم تصميم دورة تدريب وإصدار شهادات Java J2EE و SOA من Edureka لتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في هذه المدونة وسنعاود الاتصال بك في أقرب وقت ممكن.