الدوال غير المتزامنة: تقديم وعود ودية

تسمح لك الدوال غير المتزامنة بكتابة رمز برمجي يستند إلى الوعد كما لو كان متزامنًا.

يتم تفعيل الدوالّ غير المتزامنة تلقائيًا في Chrome وEdge وFirefox وSafari، وهي رائعة جدًا. وتسمح لك بكتابة رمز برمجي يستند إلى الوعود كما هو الحال مع الرموز البرمجية المتزامنة، ولكن بدون حظر سلسلة التعليمات الرئيسية. وتجعل هذه الوظائف تعليماتك البرمجية غير المتزامنة أقل "ذكاءً" وأكثر سهولة في القراءة.

تعمل الدوالّ غير المتزامنة على النحو التالي:

async function myFirstAsyncFunction() {
  try {
    const fulfilledValue = await promise;
  } catch (rejectedValue) {
    // …
  }
}

إذا استخدمت الكلمة الرئيسية async قبل تعريف دالة، يمكنك بعد ذلك استخدام await داخل الدالة. عند await وعد، يتم إيقاف الوظيفة مؤقتًا بطريقة غير حظر إلى أن يتم حلّ الوعد. وفي حال استيفاء هذا الوعد، ستستردّ القيمة. إذا رفض الوعد، يتم طرح القيمة المرفوضة.

دعم المتصفح

Browser Support

  • Chrome: 55.
  • Edge: 15.
  • Firefox: 52.
  • Safari: 10.1.

Source

مثال: تسجيل عملية استرجاع