في es6، يتم استخدام الانتظار لانتظار طلب الوعد غير المتزامن، وبعد اكتمال العملية غير المتزامنة، يتم استئناف تنفيذ وظيفة المزامنة وظيفة () {انتظار = إرجاع الوعد غير المتزامن" اسأل}".
كيفية البدء بسرعة باستخدام VUE3.0: أدخل
بيئة التشغيل لهذا البرنامج التعليمي: نظام Windows 10، الإصدار 6.0 من ECMAScript، كمبيوتر Dell G3.
؟ بناء الجملة هو:
وظيفة غير متزامنة () {انتظار = طلب غير متزامن يُرجع الوعد}
انتظار هو عامل يستخدم لتشكيل التعبيرات. تعتمد نتيجة تعبير الانتظار على ما ينتظره. إذا كان الكائن ينتظر كائن Promise، فانتظر حتى يتم حل كائن Promise، ثم احصل على قيمة الحل كنتيجة لتعبير الانتظار. لن يتسبب استدعاء وظيفة المزامنة في الحظر. يتم تغليف كل عمليات الحظر الموجودة بداخلها في كائن Promise وتنفيذها بشكل غير متزامن.
قد تكون هناك تعبيرات انتظار في الدالة غير المتزامنة. عند تنفيذ الدالة غير المتزامنة، إذا واجهت انتظارًا، فسيتم تعليق التنفيذ أولاً. بعد اكتمال العملية غير المتزامنة التي تم تشغيلها، سيتم استئناف تنفيذ الدالة غير المتزامنة وتحليل القيمة. سيتم إرجاعها.
الكلمة الأساسية "انتظار" صالحة فقط في الوظائف غير المتزامنة. إذا كنت تستخدم الانتظار خارج وظيفة غير متزامنة، فسوف تحصل فقط على خطأ في بناء الجملة.
ترجعالقيمة المرجعة
نتيجة المعالجة لكائن Promise. إذا لم يكن ما يتم انتظاره كائنًا Promise، فسيتم إرجاع القيمة نفسها.
إذا تم تمرير وعد إلى عامل الانتظار، فسينتظر الانتظار حتى تتم معالجة الوعد بشكل طبيعي ويعيد نتيجة المعالجة الخاصة به.
مثال على ذلك هو كما يلي:
الدالة testAwait (x) { إرجاع وعد جديد (الحل => { setTimeout(() => { حل(x); }، 2000)؛ }); } وظيفة غير متزامنة helloAsync() { var x = wait testAwait("hello world"); console.log(x); } helloAsync(); // helloworld
في الظروف العادية، يتبع أمر الانتظار كائن Promise، والذي يمكن أن يتبعه أيضًا قيم أخرى، مثل السلاسل والقيم المنطقية والقيم الرقمية والوظائف العادية.